{
  "openapi": "3.0.1",
  "info": {
    "title": "Connected Admin API",
    "version": "11.15.0",
    "description": "The Admin API allows you to manage your Connected community programmatically."
  },
  "servers": [
    {
      "url": "https://admin-api.connected.dev",
      "description": "Production server"
    },
    {
      "url": "https://admin-api.staging.connected.dev",
      "description": "Staging server"
    }
  ],
  "tags": [
    {
      "name": "Accounts",
      "description": "The command center for managing client profiles, tracking community data, and monitoring all member interactions"
    },
    {
      "name": "Accounts::Addresses",
      "description": "Store and manage physical addresses associated with accounts for shipping, billing, or location purposes"
    },
    {
      "name": "Accounts::Followers",
      "description": "Track and manage accounts who follow a specific account, enabling social connections and activity feed customization"
    },
    {
      "name": "Accounts::Following",
      "description": "Manage which accounts an account chooses to follow, allowing users to curate their activity feed and stay connected with relevant content"
    },
    {
      "name": "Accounts::Groups",
      "description": "View and manage group memberships for accounts, showing which groups an account belongs to and enabling group-based permissions"
    },
    {
      "name": "Accounts::Interests",
      "description": "Associate hashtag-like interests with accounts to categorize content, enable discovery, and personalize the user experience"
    },
    {
      "name": "Accounts::Invitations",
      "description": "Create an email allowlist that controls who can sign up and join your private community, restricting access to authorized email addresses"
    },
    {
      "name": "Accounts::Leads",
      "description": "Track and manage lead information associated with accounts for sales and marketing purposes"
    },
    {
      "name": "Accounts::Tiers",
      "description": "Associate accounts with membership tiers and segments to grant access to exclusive content, pricing, and features"
    },
    {
      "name": "Activities",
      "description": "Keep your community active with engagement in the Activity Feed"
    },
    {
      "name": "Activities::Schedule",
      "description": "Schedule activities to be published at specific times, allowing for planned content releases and coordinated community engagement"
    },
    {
      "name": "Advertisements",
      "description": "Drive revenue, boost sponsor brand visibility, and engage directly with your community using advertisements"
    },
    {
      "name": "Announcements",
      "description": "Keep your community in the loop with important updates, news, and highlights directly to your audience"
    },
    {
      "name": "Announcements::Schedule",
      "description": "Schedule announcements to go live at the most impactful times, ensuring important messages reach your audience when they're most likely to see them"
    },
    {
      "name": "Announcements::Translations",
      "description": "Operations for announcements::translations"
    },
    {
      "name": "ApiLogs",
      "description": "Operations for viewing API logs"
    },
    {
      "name": "AuthSessions",
      "description": "Operations for managing authentication sessions"
    },
    {
      "name": "Benefits",
      "description": "Create and manage exclusive offers or discounts provided to accounts in the community"
    },
    {
      "name": "Benefits::Translations",
      "description": "Operations for benefits::translations"
    },
    {
      "name": "Bookings",
      "description": "Attendees can book specific time-slots for event experiences with bookings"
    },
    {
      "name": "Bookings::Availabilities",
      "description": "Define available time slots for bookable spaces, allowing attendees to reserve specific times for activities like meetings or photo sessions"
    },
    {
      "name": "Bookings::Blackouts",
      "description": "Set blackout periods when bookings are unavailable, preventing reservations during maintenance, holidays, or other restricted times"
    },
    {
      "name": "Bookings::Places",
      "description": "Define top-level venues that contain bookable spaces, such as hotels, conference centers, or virtual platforms, providing context for all reservable areas"
    },
    {
      "name": "Bookings::Places::Translations",
      "description": "Operations for bookings::places::translations"
    },
    {
      "name": "Bookings::Questions",
      "description": "Operations for bookings::questions"
    },
    {
      "name": "Bookings::Questions::Choices",
      "description": "Operations for bookings::questions::choices"
    },
    {
      "name": "Bookings::Questions::Choices::Translations",
      "description": "Operations for bookings::questions::choices::translations"
    },
    {
      "name": "Bookings::Questions::Translations",
      "description": "Operations for bookings::questions::translations"
    },
    {
      "name": "Bookings::Responses",
      "description": "Operations for bookings::responses"
    },
    {
      "name": "Bookings::Spaces",
      "description": "Create specific, individual areas within a larger place that attendees can reserve for time-slots, such as meeting rooms, booths, or photo-op locations"
    },
    {
      "name": "Bookings::Spaces::Translations",
      "description": "Operations for bookings::spaces::translations"
    },
    {
      "name": "Channels",
      "description": "Channels combines versatile video hosting with written updates to help you effectively reach, inform, and entertain your community"
    },
    {
      "name": "Channels::Translations",
      "description": "Operations for channels::translations"
    },
    {
      "name": "Dashboards",
      "description": "Operations for dashboard data"
    },
    {
      "name": "Dashboards::Widgets",
      "description": "Configure and customize dashboard widgets to display key metrics, KPIs, and visualizations for monitoring community activity and performance"
    },
    {
      "name": "EmailReceipts",
      "description": "Operations for managing email receipts"
    },
    {
      "name": "Events",
      "description": "Organize and manage events effortlessly with seamless registration, detailed scheduling, and real-time updates"
    },
    {
      "name": "Events::Access",
      "description": "Configure access controls for events, determining who can view, register for, or participate in event content and activities"
    },
    {
      "name": "Events::Activations",
      "description": "Manage on-site check-ins, control access activations for special zones or sessions, and set permissions for scanning devices and staff"
    },
    {
      "name": "Events::Activations::Sessions",
      "description": "Operations for events::activations::sessions"
    },
    {
      "name": "Events::Activations::Translations",
      "description": "Operations for events::activations::translations"
    },
    {
      "name": "Events::Addons",
      "description": "Offer supplementary items or services like exclusive workshops, networking upgrades, merchandise, or special amenities that enhance the attendee experience"
    },
    {
      "name": "Events::Addons::Translations",
      "description": "Operations for events::addons::translations"
    },
    {
      "name": "Events::Attributes",
      "description": "Operations for events::attributes"
    },
    {
      "name": "Events::Benefits",
      "description": "Associate exclusive offers or discounts with events, providing special perks to attendees or members"
    },
    {
      "name": "Events::Blocks",
      "description": "Operations for events::blocks"
    },
    {
      "name": "Events::Bypass",
      "description": "Bypass standard registration requirements to grant direct access to events or passes, useful for comps, sponsors, or special circumstances"
    },
    {
      "name": "Events::Cohosts",
      "description": "Assign co-hosts to events who can help manage and moderate event activities, content, and attendee interactions"
    },
    {
      "name": "Events::Coupons",
      "description": "Create and manage promotional discount codes that attendees can apply at checkout to reduce pass prices and drive registrations"
    },
    {
      "name": "Events::Emails",
      "description": "Send and manage event-related email communications to attendees, including confirmations, updates, and promotional messages"
    },
    {
      "name": "Events::Emails::Translations",
      "description": "Operations for events::emails::translations"
    },
    {
      "name": "Events::Faqs",
      "description": "Create and manage frequently asked questions for events, providing attendees with answers to common inquiries about registration, logistics, and event details"
    },
    {
      "name": "Events::Faqs::Translations",
      "description": "Operations for events::faqs::translations"
    },
    {
      "name": "Events::Followups",
      "description": "Send follow-up communications to event attendees after the event concludes, including surveys, thank you messages, and next steps"
    },
    {
      "name": "Events::Followups::Translations",
      "description": "Operations for events::followups::translations"
    },
    {
      "name": "Events::Groupcouponreminder",
      "description": "Operations for events::groupcouponreminder"
    },
    {
      "name": "Events::Matches",
      "description": "Create customizable pairings to group attendees together for activities like golf foursomes, table assignments, or networking sessions"
    },
    {
      "name": "Events::Media",
      "description": "Upload, organize, and manage media files associated with events, including images, videos, and documents for event pages and content"
    },
    {
      "name": "Events::Media::Translations",
      "description": "Operations for events::media::translations"
    },
    {
      "name": "Events::OnSite",
      "description": "Configure on-site check-in processes, manage access activations, and set scan permissions to ensure smooth and secure attendee access throughout the event"
    },
    {
      "name": "Events::Packages",
      "description": "Create bundled pass offerings that combine multiple pass types into a single purchase, often at a discounted rate, simplifying registration for families or groups"
    },
    {
      "name": "Events::Packages::Passes",
      "description": "Configure which pass types are included in event packages and set quantity limits for each pass type within the package"
    },
    {
      "name": "Events::Packages::Translations",
      "description": "Operations for events::packages::translations"
    },
    {
      "name": "Events::Pages",
      "description": "Customize event page content, including descriptions, images, FAQs, sponsor information, and other details that appear on the public event page"
    },
    {
      "name": "Events::Pages::Translations",
      "description": "Operations for events::pages::translations"
    },
    {
      "name": "Events::Passchanges",
      "description": "Operations for events::passchanges"
    },
    {
      "name": "Events::Passes",
      "description": "Manage individual passes purchased by attendees, tracking pass status, check-ins, and access permissions for event registration"
    },
    {
      "name": "Events::Passes::Accesses",
      "description": "Operations for events::passes::accesses"
    },
    {
      "name": "Events::Passes::Addons",
      "description": "Operations for events::passes::addons"
    },
    {
      "name": "Events::Passes::Attributes",
      "description": "Operations for events::passes::attributes"
    },
    {
      "name": "Events::Passes::Followups",
      "description": "Operations for events::passes::followups"
    },
    {
      "name": "Events::Passes::Responses",
      "description": "Operations for events::passes::responses"
    },
    {
      "name": "Events::Passtypes",
      "description": "Create and configure pass types with unique names, descriptions, prices, access levels, and rules that define what each pass enables"
    },
    {
      "name": "Events::Passtypes::Exchangetargets",
      "description": "Operations for events::passtypes::exchangetargets"
    },
    {
      "name": "Events::Passtypes::Priceschedules",
      "description": "Set dynamic pricing that automatically changes on specific dates, allowing for early bird pricing, regular pricing, and late registration fees"
    },
    {
      "name": "Events::Passtypes::Refundschedules",
      "description": "Define refund policies that specify how much money attendees receive if they cancel their pass, based on cancellation timing and pass type"
    },
    {
      "name": "Events::Passtypes::Translations",
      "description": "Operations for events::passtypes::translations"
    },
    {
      "name": "Events::Questions",
      "description": "Create custom registration questions to collect essential attendee information, enabling better event planning and personalized experiences"
    },
    {
      "name": "Events::Questions::Translations",
      "description": "Operations for events::questions::translations"
    },
    {
      "name": "Events::Registrations",
      "description": "Track registrations that have been started or completed for an event, monitor registration status, and manage registration information"
    },
    {
      "name": "Events::Registrations::Packages",
      "description": "View and manage packages purchased on an event registration, tracking bundled pass combinations and package-specific benefits"
    },
    {
      "name": "Events::Registrations::Reservations",
      "description": "Manage lodging and accommodation reservations made on an event registration, including room assignments and reservation details"
    },
    {
      "name": "Events::Rooms",
      "description": "Manage specific room assignments and room numbers for event accommodations, allowing attendees to select or be assigned particular rooms"
    },
    {
      "name": "Events::Roomtypes",
      "description": "Define room categories for event accommodations, such as single, double, or suite, with pricing, capacity, and availability settings"
    },
    {
      "name": "Events::Roomtypes::Translations",
      "description": "Operations for events::roomtypes::translations"
    },
    {
      "name": "Events::Sections",
      "description": "Organize event content into sections for better navigation and structure, grouping related information or activities together"
    },
    {
      "name": "Events::Sections::Translations",
      "description": "Operations for events::sections::translations"
    },
    {
      "name": "Events::Sessions",
      "description": "Create, schedule, and configure individual sessions within your event agenda, including details, speakers, locations, and registration requirements"
    },
    {
      "name": "Events::Sessions::Accesses",
      "description": "Control who can access specific sessions, setting restrictions based on pass types, capacity limits, or registration requirements"
    },
    {
      "name": "Events::Sessions::Locations",
      "description": "Define physical venues, rooms, or virtual spaces where sessions occur, providing clear navigational information for attendees"
    },
    {
      "name": "Events::Sessions::Locations::Translations",
      "description": "Operations for events::sessions::locations::translations"
    },
    {
      "name": "Events::Sessions::Matches",
      "description": "Create matchmaking pairings for session-specific activities, grouping attendees together for networking or collaborative sessions"
    },
    {
      "name": "Events::Sessions::Prices",
      "description": "Operations for events::sessions::prices"
    },
    {
      "name": "Events::Sessions::Questions",
      "description": "Add custom questions to session registration, collecting additional information from attendees who register for specific sessions"
    },
    {
      "name": "Events::Sessions::Questions::Translations",
      "description": "Operations for events::sessions::questions::translations"
    },
    {
      "name": "Events::Sessions::Sections",
      "description": "Organize session content into sections, grouping related sessions or activities for better agenda navigation"
    },
    {
      "name": "Events::Sessions::Sections::Translations",
      "description": "Operations for events::sessions::sections::translations"
    },
    {
      "name": "Events::Sessions::Times",
      "description": "Operations for events::sessions::times"
    },
    {
      "name": "Events::Sessions::Times::Translations",
      "description": "Operations for events::sessions::times::translations"
    },
    {
      "name": "Events::Sessions::Translations",
      "description": "Operations for events::sessions::translations"
    },
    {
      "name": "Events::Speakers",
      "description": "Create detailed speaker profiles with biographies, photos, company information, and social media links to showcase event presenters"
    },
    {
      "name": "Events::Speakers::Translations",
      "description": "Operations for events::speakers::translations"
    },
    {
      "name": "Events::Sponsors",
      "description": "Create and display sponsor profiles on the event page, recognizing supporters with logos, descriptions, and website links"
    },
    {
      "name": "Events::Sponsorshiplevels",
      "description": "Create sponsorship level categories like Platinum, Gold, or Silver to organize sponsors by contribution level and display them accordingly"
    },
    {
      "name": "Events::Sponsorshiplevels::Translations",
      "description": "Operations for events::sponsorshiplevels::translations"
    },
    {
      "name": "Events::Sponsorships",
      "description": "Manage sponsorship relationships and benefits, tracking sponsor contributions and associated perks or visibility"
    },
    {
      "name": "Events::Sponsorships::Translations",
      "description": "Operations for events::sponsorships::translations"
    },
    {
      "name": "Events::Templates",
      "description": "Save event configurations as templates to quickly create new events with similar settings, streamlining event setup and ensuring consistency"
    },
    {
      "name": "Events::Tracks",
      "description": "Categorize sessions into thematic tracks with color coding, helping attendees filter complex schedules and find content aligned with their interests"
    },
    {
      "name": "Events::Tracks::Translations",
      "description": "Operations for events::tracks::translations"
    },
    {
      "name": "Events::Transfers",
      "description": "Operations for events::transfers"
    },
    {
      "name": "Events::Translations",
      "description": "Operations for events::translations"
    },
    {
      "name": "Files",
      "description": "Operations for managing files"
    },
    {
      "name": "Groups",
      "description": "Create and manage dedicated groups within your community to foster collaboration and connection"
    },
    {
      "name": "Groups::Events",
      "description": "Associate events with groups, allowing group members to discover and register for group-specific events or activities"
    },
    {
      "name": "Groups::Interests",
      "description": "Tag groups with interests to help members discover relevant groups and enable interest-based filtering and recommendations"
    },
    {
      "name": "Groups::Invitations",
      "description": "Send direct invitations to specific users to join private groups, tracking invitation status and proactively growing group membership"
    },
    {
      "name": "Groups::Members",
      "description": "View the complete roster of group members, add or remove members, and adjust roles to maintain a well-organized community"
    },
    {
      "name": "Groups::Moderators",
      "description": "Assign elevated privileges to trusted group members, enabling them to help moderate content, manage members, and maintain community standards"
    },
    {
      "name": "Groups::Requests",
      "description": "Review membership requests for private groups, approving or denying access to ensure appropriate membership and maintain group exclusivity"
    },
    {
      "name": "Groups::Sponsors",
      "description": "Associate sponsors with groups, recognizing supporting organizations or individuals within group contexts"
    },
    {
      "name": "Groups::Translations",
      "description": "Operations for groups::translations"
    },
    {
      "name": "Imports",
      "description": "Operations for data imports"
    },
    {
      "name": "Interests",
      "description": "A community-wide tagging system that acts like hashtags and allows users to share trending topics"
    },
    {
      "name": "Invoices",
      "description": "Streamline your event invoicing and gain complete financial oversight with instant differentiation between paid and outstanding invoices"
    },
    {
      "name": "Invoices::Lineitems",
      "description": "View and manage individual line items on invoices, tracking specific charges, quantities, and prices for detailed financial records"
    },
    {
      "name": "Logins",
      "description": "Operations for managing login records"
    },
    {
      "name": "Logins::Accounts",
      "description": "Link login credentials to accounts, enabling the flexible system where one login can access multiple accounts or one account can be accessed by multiple logins"
    },
    {
      "name": "Meetings",
      "description": "A scalable solution for virtual events, featuring structured sessions, efficient presets, and integrated recordings for lasting engagement"
    },
    {
      "name": "Meetings::Links",
      "description": "Generate and manage meeting links for virtual sessions, providing secure access URLs for participants to join meetings"
    },
    {
      "name": "Meetings::Livestreams",
      "description": "Configure and manage livestream settings for meetings, enabling real-time video broadcasting to larger audiences"
    },
    {
      "name": "Meetings::Participants",
      "description": "Manage meeting participants, including adding attendees, tracking attendance, and controlling participant permissions"
    },
    {
      "name": "Meetings::Presets",
      "description": "Create reusable meeting configuration presets to reduce setup time and ensure consistent settings across similar meeting types"
    },
    {
      "name": "Meetings::Recordings",
      "description": "Access and manage meeting recordings, enabling content curation and sharing value long after meetings conclude"
    },
    {
      "name": "Meetings::Sessions",
      "description": "Structure complex meetings into multiple sessions, organizing content and activities within a single meeting event"
    },
    {
      "name": "Notifications",
      "description": "Operations for managing notifications"
    },
    {
      "name": "Organization",
      "description": "Ensure that your community runs according to your liking by using the Control Center feature for centralized command center adjustments"
    },
    {
      "name": "Organization::Attributes",
      "description": "Create custom account fields with specific rules to capture essential user data beyond default profile fields, building richer profiles and enabling better segmentation"
    },
    {
      "name": "Organization::Domains",
      "description": "Configure allowed email domains for organization accounts, controlling who can register and join the community"
    },
    {
      "name": "Organization::Entities",
      "description": "Operations for organization::entities"
    },
    {
      "name": "Organization::Integrations",
      "description": "Connect third-party software and services to extend platform capabilities, automate workflows, and sync data between systems"
    },
    {
      "name": "Organization::Languageoverrides",
      "description": "Operations for organization::languageoverrides"
    },
    {
      "name": "Organization::Modules",
      "description": "Enable or disable platform modules and features, customizing which capabilities are available to your organization"
    },
    {
      "name": "Organization::Modules::Custom",
      "description": "Configure custom modules and features specific to your organization's needs and requirements"
    },
    {
      "name": "Organization::Modules::Custom::Translations",
      "description": "Operations for organization::modules::custom::translations"
    },
    {
      "name": "Organization::Modules::Settings",
      "description": "Operations for organization::modules::settings"
    },
    {
      "name": "Organization::Modules::Settings::Translations",
      "description": "Operations for organization::modules::settings::translations"
    },
    {
      "name": "Organization::Modules::Tiers",
      "description": "Set tier-based module access, determining which features are available to different membership levels"
    },
    {
      "name": "Organization::Payments",
      "description": "Configure payment integrations and settings, including payment processors, tax handling, and transaction management"
    },
    {
      "name": "Organization::Sideeffects",
      "description": "Configure automated actions that occur when specific events happen, such as granting access or sending notifications based on triggers"
    },
    {
      "name": "Organization::Tax",
      "description": "Set up tax calculation and collection settings, including tax codes, rates, and integration with tax services like Avalara"
    },
    {
      "name": "Organization::Teammembers",
      "description": "Manage team members and administrators for the organization, assigning roles and permissions for platform access"
    },
    {
      "name": "Organization::Users",
      "description": "Manage user accounts and access for the organization, controlling who can use the platform and what permissions they have"
    },
    {
      "name": "Organization::Webhooks",
      "description": "Configure webhook endpoints to receive real-time notifications about platform events, enabling integration with external systems and automation"
    },
    {
      "name": "Payments",
      "description": "View a comprehensive record of all past transactions and payment activities"
    },
    {
      "name": "Preferences",
      "description": "Operations for managing preferences"
    },
    {
      "name": "PushDevices",
      "description": "Operations for managing push notification devices"
    },
    {
      "name": "Reports",
      "description": "Easily review and gain data-driven insights for community management"
    },
    {
      "name": "Reports::Users",
      "description": "Generate detailed reports about user activity, behavior, and engagement to gain insights into community participation and trends"
    },
    {
      "name": "Searchlists",
      "description": "Operations for managing search lists"
    },
    {
      "name": "Searchlists::Values",
      "description": "Manage predefined values for search lists used in registration questions and forms, providing dropdown options and controlled input choices"
    },
    {
      "name": "Self",
      "description": "Operations for the authenticated user"
    },
    {
      "name": "Self::Apikeys",
      "description": "Generate and manage API keys for the authenticated user, enabling programmatic access to platform features and data"
    },
    {
      "name": "Self::Images",
      "description": "Upload and manage profile images and photos for the authenticated user's account"
    },
    {
      "name": "Series",
      "description": "Operations for managing event series"
    },
    {
      "name": "Series::Questions",
      "description": "Operations for series::questions"
    },
    {
      "name": "Series::Questions::Choices",
      "description": "Operations for series::questions::choices"
    },
    {
      "name": "Series::Questions::Translations",
      "description": "Operations for series::questions::translations"
    },
    {
      "name": "Series::Registrations",
      "description": "Manage account registrations for event series"
    },
    {
      "name": "Series::Translations",
      "description": "Operations for series::translations"
    },
    {
      "name": "Sponsors",
      "description": "Operations for managing sponsorship levels"
    },
    {
      "name": "Sponsors::Accounts",
      "description": "Associate accounts with membership levels to grant tier-based access, pricing, and benefits based on membership status"
    },
    {
      "name": "Sponsors::Translations",
      "description": "Operations for sponsors::translations"
    },
    {
      "name": "Storage::Files",
      "description": "Operations for storage::files"
    },
    {
      "name": "Storage::Images",
      "description": "Operations for storage::images"
    },
    {
      "name": "Storage::Videos",
      "description": "Operations for storage::videos"
    },
    {
      "name": "Storage::Videos::Captions",
      "description": "Operations for storage::videos::captions"
    },
    {
      "name": "Streams",
      "description": "Operations for managing streams"
    },
    {
      "name": "Streams::Outputs",
      "description": "Configure stream output destinations and settings, controlling where and how video streams are broadcast or recorded"
    },
    {
      "name": "Streams::Sessions",
      "description": "Manage streaming sessions, including starting, stopping, and monitoring live video streams for events or content delivery"
    },
    {
      "name": "Support",
      "description": "Monitor and support areas within the community that require attention to ensure consistent care and engagement"
    },
    {
      "name": "Support::Messages",
      "description": "Send and receive support messages with users, enabling direct communication to resolve issues and provide assistance"
    },
    {
      "name": "Support::Notes",
      "description": "Add internal notes to support tickets for team collaboration, tracking resolution steps, and maintaining support history"
    },
    {
      "name": "Surveys",
      "description": "Easily gather insights and feedback by using surveys"
    },
    {
      "name": "Surveys::Questions",
      "description": "Create and configure survey questions to gather feedback, opinions, and insights from your community"
    },
    {
      "name": "Surveys::Questions::Translations",
      "description": "Operations for surveys::questions::translations"
    },
    {
      "name": "Surveys::Sections",
      "description": "Organize survey questions into logical sections, improving survey structure and user experience"
    },
    {
      "name": "Surveys::Sections::Translations",
      "description": "Operations for surveys::sections::translations"
    },
    {
      "name": "Surveys::Sessions",
      "description": "Operations for surveys::sessions"
    },
    {
      "name": "Surveys::Submissions",
      "description": "View and analyze survey responses submitted by participants, extracting insights and feedback data"
    },
    {
      "name": "Surveys::Translations",
      "description": "Operations for surveys::translations"
    },
    {
      "name": "Threads",
      "description": "A collection of messages around a specific topic for seamless, real-time collaboration"
    },
    {
      "name": "Threads::Accounts",
      "description": "Operations for threads::accounts"
    },
    {
      "name": "Threads::Messages",
      "description": "Send and manage messages within threads, enabling real-time collaboration and discussion around specific topics"
    },
    {
      "name": "Threads::Messages::Files",
      "description": "Attach and manage files within thread messages, sharing documents and resources in conversation context"
    },
    {
      "name": "Threads::Messages::Images",
      "description": "Attach and manage images within thread messages, enabling visual communication and content sharing"
    },
    {
      "name": "Threads::Messages::Reactions",
      "description": "Add reactions to thread messages, enabling quick feedback and engagement without requiring full replies"
    },
    {
      "name": "Threads::Messages::Videos",
      "description": "Attach and manage videos within thread messages, sharing video content in conversation threads"
    },
    {
      "name": "Threads::Storage",
      "description": "List images, videos, and files shared across all messages in a thread, surfacing every attachment in one consolidated view"
    },
    {
      "name": "Tiers",
      "description": "Operations for managing membership tiers"
    }
  ],
  "paths": {
    "/accounts": {
      "get": {
        "operationId": "GetAccounts",
        "summary": "List accounts in the organization",
        "description": "Returns a paginated list of accounts for the organization, filterable by verified status, online status, featured status, and a search term; requires the `read accounts` permission.",
        "parameters": [
          {
            "in": "query",
            "name": "verified",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by verified",
            "required": false
          },
          {
            "in": "query",
            "name": "online",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by online",
            "required": false
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "post": {
        "operationId": "CreateAccount",
        "summary": "Create a new account",
        "description": "Creates a new account profile in the organization from the supplied account fields, requiring create permission on accounts.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/internal-ref-id/{internalRefId}": {
      "get": {
        "operationId": "GetAccountsByInternalRefId",
        "summary": "Find accounts by internal reference ID",
        "description": "Returns all accounts in the organization whose `internalRefId` matches the given value, ordered by creation date descending; requires the `read accounts` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "internalRefId",
            "schema": {
              "type": "string"
            },
            "description": "The internalRef identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/invitations": {
      "get": {
        "operationId": "GetAccountInvitations",
        "summary": "List pending account invitations",
        "description": "Returns a paginated list of outstanding invitations for people to join the organization's accounts, with optional search by email, and requires permission to read accounts.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AccountInvitation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Invitations"
        ]
      },
      "post": {
        "operationId": "CreateAccountInvitations",
        "summary": "Invite people to create accounts",
        "description": "Creates pending account invitations for the given list of email addresses so those people can register with the organization; duplicate emails are skipped and requires create permission on accounts.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Invitations"
        ]
      }
    },
    "/accounts/invitations/{email}": {
      "delete": {
        "operationId": "DeleteAccountInvitation",
        "summary": "Delete a pending account invitation",
        "description": "Deletes the pending account invitation for the given email address, revoking the invite; requires delete permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "email",
            "schema": {
              "type": "string"
            },
            "description": "The email identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Invitations"
        ]
      }
    },
    "/accounts/sync": {
      "post": {
        "operationId": "SyncAccounts",
        "summary": "Sync all accounts",
        "description": "Enqueues a background job to resync every account in the organization and returns the number of accounts enqueued, requiring update permission on accounts.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}": {
      "get": {
        "operationId": "GetAccount",
        "summary": "Get an account's profile",
        "description": "Returns the full profile record for a single account identified by its account ID or username; requires read access to accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "put": {
        "operationId": "UpdateAccount",
        "summary": "Update an account",
        "description": "Updates the profile fields of the given account as an administrator, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      },
      "delete": {
        "operationId": "DeleteAccount",
        "summary": "Delete an account",
        "description": "Permanently queues deletion of the given account and its related data, requiring delete permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/activities": {
      "get": {
        "operationId": "GetAccountActivities",
        "summary": "List an account's activity feed posts",
        "description": "Returns a paginated list of top-level activity feed posts authored by the given account (excludes comments and event/content/group-scoped activities), optionally filtered by activity status and searchable by message text; requires read access to accounts and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/addresses": {
      "get": {
        "operationId": "GetAccountAddresses",
        "summary": "List an account's saved addresses",
        "description": "Returns a paginated list of addresses saved to the specified account, supporting search across address line, city, state, and country, and requires permission to read accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AccountAddress"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Addresses"
        ]
      },
      "post": {
        "operationId": "CreateAccountAddress",
        "summary": "Create an address for an account",
        "description": "Creates a new mailing address on the given account, validating and optionally geocoding the address unless skipValidation is set, and requires update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAddressCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAddress"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Addresses"
        ]
      }
    },
    "/accounts/{accountId}/addresses/{addressId}": {
      "get": {
        "operationId": "GetAccountAddress",
        "summary": "Get a single account address",
        "description": "Retrieves one saved address belonging to the specified account by its address ID; requires permission to read accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addressId",
            "schema": {
              "type": "string"
            },
            "description": "The address identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAddress"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Addresses"
        ]
      },
      "put": {
        "operationId": "UpdateAccountAddress",
        "summary": "Update an account's address",
        "description": "Updates the fields of an existing address on the given account, re-validating the address unless skipValidation is set, and requires update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addressId",
            "schema": {
              "type": "string"
            },
            "description": "The address identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAddressUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAddress"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Addresses"
        ]
      },
      "delete": {
        "operationId": "DeleteAccountAddress",
        "summary": "Delete an account's address",
        "description": "Permanently deletes a specific address from the given account, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addressId",
            "schema": {
              "type": "string"
            },
            "description": "The address identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Addresses"
        ]
      }
    },
    "/accounts/{accountId}/bookings": {
      "get": {
        "operationId": "GetAccountBookings",
        "summary": "List an account's space bookings",
        "description": "Returns a paginated list of non-draft space/place bookings made by the given account, with optional search over the booked space or place name; requires read access to accounts and bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Booking"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/comments": {
      "get": {
        "operationId": "GetAccountComments",
        "summary": "List an account's posted comments",
        "description": "Returns a paginated list of comments the given account has left on other activity feed posts, with optional search over the comment message text; requires read access to accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/email-receipts": {
      "get": {
        "operationId": "GetAcccountEmailReceipts",
        "summary": "List an account's email receipts",
        "description": "Returns a paginated list of email delivery receipts sent to the given account, optionally filtered by delivery status and searchable by recipient address or subject; requires read access to accounts and logs.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/EmailReceiptStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EmailReceipt"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/events": {
      "get": {
        "operationId": "GetAccountEvents",
        "summary": "List an account's events",
        "description": "Returns a paginated list of events an account is associated with, optionally filtered to past or upcoming events via the `past` flag and by a search term; requires the `read accounts` and `read events` permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/export": {
      "post": {
        "operationId": "ExportAccount",
        "summary": "Export an account's data",
        "description": "Queues a data export for the given account and emails the resulting file to the requesting admin user, requiring read permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/followers": {
      "get": {
        "operationId": "GetAccountFollowers",
        "summary": "List an account's followers",
        "description": "Returns a paginated list of accounts that follow the specified account, with optional search, and requires permission to read accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Followers"
        ]
      }
    },
    "/accounts/{accountId}/followers/{followerId}": {
      "post": {
        "operationId": "AddAccountFollower",
        "summary": "Add a follower to an account",
        "description": "Makes the given follower account follow the target account, failing if the follower has already reached the 5000 following limit, and requires update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followerId",
            "schema": {
              "type": "string"
            },
            "description": "The follower identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Followers"
        ]
      },
      "delete": {
        "operationId": "RemoveAccountFollower",
        "summary": "Remove a follower from an account",
        "description": "Removes the given follower account from the target account's followers and deletes any related follow notification, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followerId",
            "schema": {
              "type": "string"
            },
            "description": "The follower identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Followers"
        ]
      }
    },
    "/accounts/{accountId}/following": {
      "get": {
        "operationId": "GetAccountFollowing",
        "summary": "List accounts an account is following",
        "description": "Returns a paginated list of accounts that the specified account follows, with optional search, and requires permission to read accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Following"
        ]
      }
    },
    "/accounts/{accountId}/following/{followingId}": {
      "post": {
        "operationId": "AddAccountFollowing",
        "summary": "Follow another account",
        "description": "Makes the given account start following the specified target account, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followingId",
            "schema": {
              "type": "string"
            },
            "description": "The following identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Following"
        ]
      },
      "delete": {
        "operationId": "RemoveAccountFollowing",
        "summary": "Unfollow another account",
        "description": "Makes the given account stop following the specified target account, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followingId",
            "schema": {
              "type": "string"
            },
            "description": "The following identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Following"
        ]
      }
    },
    "/accounts/{accountId}/groups": {
      "get": {
        "operationId": "GetAccountGroups",
        "summary": "List an account's group memberships",
        "description": "Returns a paginated list of groups the specified account belongs to, with optional search, and requires permission to read accounts and groups.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupMembership"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Groups"
        ]
      }
    },
    "/accounts/{accountId}/groups/{groupId}": {
      "post": {
        "operationId": "AddAccountGroup",
        "summary": "Add an account to a group",
        "description": "Creates a group membership adding the given account to the specified group as a member, requiring update permission on both accounts and groups.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Groups"
        ]
      },
      "delete": {
        "operationId": "RemoveAccountGroup",
        "summary": "Remove an account from a group",
        "description": "Removes the given account's membership from the specified group, deleting the group membership record; requires update permission on accounts and groups.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Groups"
        ]
      }
    },
    "/accounts/{accountId}/interests": {
      "get": {
        "operationId": "GetAccountInterests",
        "summary": "List an account's interests",
        "description": "Returns a paginated list of interests associated with the specified account, with optional search by interest name, and requires permission to read accounts and interests.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Interest"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Interests"
        ]
      }
    },
    "/accounts/{accountId}/interests/{interestId}": {
      "post": {
        "operationId": "AddAccountInterest",
        "summary": "Add an interest to an account",
        "description": "Associates the given interest with the specified account and returns the updated account; requires update permission on accounts and interests.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Interests"
        ]
      },
      "delete": {
        "operationId": "RemoveAccountInterest",
        "summary": "Remove an interest from an account",
        "description": "Removes the association between the given interest and the specified account and returns the updated account; requires update permission on accounts and interests.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Interests"
        ]
      }
    },
    "/accounts/{accountId}/leads": {
      "get": {
        "operationId": "GetAccountLeads",
        "summary": "List an account's leads",
        "description": "Returns a paginated list of leads captured by the given account, optionally filtered by lead status or by the event where they were captured, with search over the lead's name, title, company, or email; requires read access to accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/LeadStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Lead"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Leads"
        ]
      }
    },
    "/accounts/{accountId}/leads/{leadId}": {
      "get": {
        "operationId": "GetAccountLead",
        "summary": "Get a single account lead",
        "description": "Retrieves one lead record captured by the specified account by its lead ID, and requires permission to read accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "leadId",
            "schema": {
              "type": "string"
            },
            "description": "The lead identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Lead"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Leads"
        ]
      },
      "put": {
        "operationId": "UpdateAccountLead",
        "summary": "Update an account's lead",
        "description": "Updates fields (such as status or contact details) on the specified lead captured by the given account and returns the updated lead; requires update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "leadId",
            "schema": {
              "type": "string"
            },
            "description": "The lead identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LeadUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Lead"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Leads"
        ]
      },
      "delete": {
        "operationId": "DeleteAccountLead",
        "summary": "Delete an account's lead",
        "description": "Permanently deletes the specified lead record captured by the given account; requires update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "leadId",
            "schema": {
              "type": "string"
            },
            "description": "The lead identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Leads"
        ]
      }
    },
    "/accounts/{accountId}/levels": {
      "get": {
        "operationId": "GetAccountLevels",
        "summary": "List an account's sponsorship levels",
        "description": "Returns a paginated list of the sponsorship levels the given account is assigned to, with optional search over the level's name or description; requires read access to accounts and sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Level"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Tiers"
        ]
      }
    },
    "/accounts/{accountId}/likes": {
      "get": {
        "operationId": "GetAccountLikes",
        "summary": "List an account's likes",
        "description": "Returns a paginated list of likes made by the given account, searchable by the liked activity's message or the account's name; requires the `read accounts` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Like"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/notification-preferences": {
      "get": {
        "operationId": "GetAccountNotificationPreferences",
        "summary": "Get an account's notification preferences",
        "description": "Returns the notification preferences for the given account, creating a default preferences record on the account if one does not yet exist; requires the `read accounts` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/NotificationPreferences"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/payment-intents": {
      "get": {
        "operationId": "GetAccountPaymentIntents",
        "summary": "List an account's payment intents",
        "description": "Returns a paginated list of unpaid checkout payment intents for the given account; requires the `read accounts` and `read payments` permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PaymentIntent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/payments": {
      "get": {
        "operationId": "GetAccountPayments",
        "summary": "List an account's payments",
        "description": "Returns a paginated list of payments made by the given account, searchable by payment ID, account email, or account name; requires the `read accounts` and `read payments` permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/registrations": {
      "get": {
        "operationId": "GetAccountRegistrations",
        "summary": "List an account's event registrations",
        "description": "Returns a paginated list of event registrations for the given account, ordered by event start date by default; requires the `read accounts` and `read events` permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRegistration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/supportTickets": {
      "get": {
        "operationId": "GetAccountSupportTickets",
        "summary": "List an account's support tickets",
        "description": "Returns a paginated list of support tickets filed by the given account, searchable by a search term; requires the `read accounts` and `read support` permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicket"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/sync": {
      "post": {
        "operationId": "SyncAccount",
        "summary": "Sync a single account",
        "description": "Enqueues a background job to resync the given account's data, requiring update permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/threads": {
      "get": {
        "operationId": "GetAccountThreads",
        "summary": "List an account's message threads",
        "description": "Returns a paginated list of message threads (conversations) that the given account is a participant in, supporting search by subject or thread ID and requiring read permission on accounts and threads.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thread"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts"
        ]
      }
    },
    "/accounts/{accountId}/tiers": {
      "get": {
        "operationId": "GetAccountTiers",
        "summary": "List an account's tiers",
        "description": "Returns a paginated list of the account tiers assigned to the given account, optionally filtered to only \"internal\" or \"external\" tiers, with search over the tier's name or description; requires read access to accounts and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string",
              "enum": [
                "external",
                "internal"
              ]
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Tiers"
        ]
      }
    },
    "/accounts/{accountId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddAccountTier",
        "summary": "Add a tier to an account",
        "description": "Assigns the given membership tier to the specified account and returns the updated account; requires update permission on accounts and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Tiers"
        ]
      },
      "delete": {
        "operationId": "RemoveAccountTier",
        "summary": "Remove a tier from an account",
        "description": "Removes the association between the given tier and account, requiring update permission on both accounts and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Accounts::Tiers"
        ]
      }
    },
    "/activities": {
      "get": {
        "operationId": "GetActivities",
        "summary": "List activities",
        "description": "Returns a paginated list of activity feed posts for the organization, filterable by moderation status, featured flag, activity status, and whether to include global (cross-organization) activities, requiring read permission on activities.",
        "parameters": [
          {
            "in": "query",
            "name": "moderation",
            "schema": {
              "$ref": "#/components/schemas/ModerationStatus"
            },
            "description": "Filter by moderation",
            "required": false
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "object"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "global",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by global",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      },
      "post": {
        "operationId": "CreateActivity",
        "summary": "Create an activity post",
        "description": "Creates a new activity feed post authored by the given account, optionally attaching an image via a base64 data URI; requires create permission on activities.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": {
                    "type": "string"
                  },
                  "activity": {
                    "$ref": "#/components/schemas/ActivityCreateInputs"
                  },
                  "imageUri": {
                    "type": "string"
                  }
                },
                "required": [
                  "accountId",
                  "activity"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}": {
      "get": {
        "operationId": "GetActivity",
        "summary": "Get a single activity",
        "description": "Retrieves the details of a single activity feed post by its activityId, requiring read permission on activities.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      },
      "put": {
        "operationId": "UpdateActivity",
        "summary": "Update an activity's details",
        "description": "Updates the content and settings of an existing activity post identified by activityId; requires update permission on activities.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivityUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      },
      "delete": {
        "operationId": "DeleteActivity",
        "summary": "Delete an activity",
        "description": "Permanently deletes the specified activity post; requires delete permission on activities.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}/archive": {
      "put": {
        "operationId": "ArchiveActivity",
        "summary": "Archive a published activity",
        "description": "Archives a currently published activity, removing it from active feeds while retaining its record; requires update permission on activities and fails if the activity has not already been published.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}/comments": {
      "get": {
        "operationId": "GetActivityComments",
        "summary": "List an activity's comments",
        "description": "Returns a paginated list of comments left on the specified activity, supporting search and ordering, and requiring read permission on activities.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}/likes": {
      "get": {
        "operationId": "GetActivityLikes",
        "summary": "List an activity's likes",
        "description": "Returns a paginated list of the accounts that liked the specified activity, supporting search and ordering, and requiring read permission on activities.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Like"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}/publish": {
      "put": {
        "operationId": "PublishActivity",
        "summary": "Publish an activity immediately",
        "description": "Publishes an activity right away, making it visible in feeds; requires update permission on activities and fails if the activity is already published or is currently scheduled for a future publish.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities"
        ]
      }
    },
    "/activities/{activityId}/schedule": {
      "put": {
        "operationId": "UpdateActivitySchedule",
        "summary": "Schedule an activity to publish later",
        "description": "Sets or updates the future date and time at which an activity will automatically be published, creating the schedule if none exists or rescheduling an existing one; requires update permission on activities and the date must be in the future.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities::Schedule"
        ]
      },
      "delete": {
        "operationId": "CancelActivitySchedule",
        "summary": "Cancel a scheduled activity",
        "description": "Cancels a pending future publish schedule for an activity, removing the scheduled send and leaving the activity unpublished; requires update permission on activities and fails if the activity is not currently scheduled or has already been sent.",
        "parameters": [
          {
            "in": "path",
            "name": "activityId",
            "schema": {
              "type": "string"
            },
            "description": "The activity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Activity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Activities::Schedule"
        ]
      }
    },
    "/advertisements": {
      "get": {
        "operationId": "GetAdvertisements",
        "summary": "List advertisements",
        "description": "Returns a paginated list of advertisements for the organization, optionally filtered by accountId, supporting search and ordering, and requiring read permission on advertisements.",
        "parameters": [
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Advertisement"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      },
      "post": {
        "operationId": "CreateAdvertisement",
        "summary": "Create an advertisement",
        "description": "Creates a new advertisement record for the organization from the given details; requires create permission on advertisements.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvertisementCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Advertisement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      }
    },
    "/advertisements/{advertisementId}": {
      "get": {
        "operationId": "GetAdvertisement",
        "summary": "Get a single advertisement",
        "description": "Retrieves the details of a single advertisement by its advertisementId, requiring read permission on advertisements.",
        "parameters": [
          {
            "in": "path",
            "name": "advertisementId",
            "schema": {
              "type": "string"
            },
            "description": "The advertisement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Advertisement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      },
      "put": {
        "operationId": "UpdateAdvertisement",
        "summary": "Update an advertisement",
        "description": "Updates the details of an existing advertisement identified by advertisementId; requires update permission on advertisements.",
        "parameters": [
          {
            "in": "path",
            "name": "advertisementId",
            "schema": {
              "type": "string"
            },
            "description": "The advertisement identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdvertisementUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Advertisement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      },
      "delete": {
        "operationId": "DeleteAdvertisement",
        "summary": "Delete an advertisement",
        "description": "Permanently deletes the specified advertisement from the organization; requires delete permission on advertisements.",
        "parameters": [
          {
            "in": "path",
            "name": "advertisementId",
            "schema": {
              "type": "string"
            },
            "description": "The advertisement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      }
    },
    "/advertisements/{advertisementId}/clicks": {
      "get": {
        "operationId": "GetAdvertisementClicks",
        "summary": "List an advertisement's clicks",
        "description": "Returns a paginated list of click events recorded for the specified advertisement, supporting search and ordering, and requiring read permission on advertisements.",
        "parameters": [
          {
            "in": "path",
            "name": "advertisementId",
            "schema": {
              "type": "string"
            },
            "description": "The advertisement identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AdvertisementClick"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      }
    },
    "/advertisements/{advertisementId}/views": {
      "get": {
        "operationId": "GetAdvertisementViews",
        "summary": "List an advertisement's view records",
        "description": "Returns a paginated list of view (impression) records for the given advertisement, supporting search and ordering; requires read permission on advertisements.",
        "parameters": [
          {
            "in": "path",
            "name": "advertisementId",
            "schema": {
              "type": "string"
            },
            "description": "The advertisement identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AdvertisementView"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Advertisements"
        ]
      }
    },
    "/announcements": {
      "get": {
        "operationId": "GetAnnouncements",
        "summary": "List announcements",
        "description": "Returns a paginated list of announcements for the organization, optionally filtered by event, group, tier, channel, account, sponsorship level, or verified-account status, with search and ordering support; requires read permission on announcements.",
        "parameters": [
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/AnnouncementFilters"
            },
            "description": "Filter by filters",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Announcement"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      },
      "post": {
        "operationId": "CreateAnnouncement",
        "summary": "Create an announcement",
        "description": "Creates a new announcement for the organization, requiring at least one audience target (event, group, tier, channel, account, or verified accounts) and requiring create permission on announcements; admins cannot assign the creator directly.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnnouncementCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Announcement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      }
    },
    "/announcements/{announcementId}": {
      "get": {
        "operationId": "GetAnnouncement",
        "summary": "Get an announcement",
        "description": "Returns the details of a single announcement by its ID; requires read permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Announcement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      },
      "put": {
        "operationId": "UpdateAnnouncement",
        "summary": "Update an announcement",
        "description": "Updates the fields (such as title, content, or audience targeting) of an existing announcement identified by ID or slug; requires update permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnnouncementUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Announcement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      },
      "delete": {
        "operationId": "DeleteAnnouncement",
        "summary": "Delete an announcement",
        "description": "Permanently deletes the given announcement from the organization; requires delete permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      }
    },
    "/announcements/{announcementId}/audience": {
      "get": {
        "operationId": "GetAnnouncementAudience",
        "summary": "List an announcement's target audience",
        "description": "Returns a paginated list of the accounts that an announcement was or will be sent to, supporting search and ordering; requires read permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseAccount"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      }
    },
    "/announcements/{announcementId}/email-receipts": {
      "get": {
        "operationId": "GetAnnouncementEmailReceipts",
        "summary": "List an announcement's email delivery receipts",
        "description": "Returns a paginated list of email receipts recording delivery status for the given announcement, optionally filtered by delivery status, with search and ordering support; requires read permission on both announcements and logs.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/EmailReceiptStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EmailReceipt"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      }
    },
    "/announcements/{announcementId}/preview": {
      "post": {
        "operationId": "SendAnnouncementPreview",
        "summary": "Send a preview of an announcement",
        "description": "Queues a preview send of the announcement's current content to a test recipient (identified by userId or accountId in the announcement), failing if the announcement has no HTML content yet; requires create permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements"
        ]
      }
    },
    "/announcements/{announcementId}/schedule": {
      "put": {
        "operationId": "UpdateAnnouncementSchedule",
        "summary": "Schedule or reschedule an announcement send",
        "description": "Sets or updates the future send date/time for an announcement and whether it goes out via email and/or push notification; the announcement must already have HTML content, the date must be in the future, and update permission on announcements is required.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Announcement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Schedule"
        ]
      },
      "delete": {
        "operationId": "CancelAnnouncementSchedule",
        "summary": "Cancel an announcement's scheduled send",
        "description": "Cancels a previously scheduled send for the given announcement, removing its scheduled notification so it will not go out; requires update permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Announcement"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Schedule"
        ]
      }
    },
    "/announcements/{announcementId}/translations": {
      "get": {
        "operationId": "GetAnnouncementTranslations",
        "summary": "List an announcement's translations",
        "description": "Returns a paginated list of locale translations for the given announcement, supporting search and ordering; requires read permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AnnouncementTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Translations"
        ]
      }
    },
    "/announcements/{announcementId}/translations/{locale}": {
      "get": {
        "operationId": "GetAnnouncementTranslation",
        "summary": "Get an announcement's translation for a locale",
        "description": "Returns the translated content (title, message, etc.) of an announcement for the specified locale, or null if no translation exists; requires read permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/AnnouncementTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateAnnouncementTranslation",
        "summary": "Update an announcement translation",
        "description": "Creates or updates the translated content (e.g. title, HTML body) for the given announcement in the specified locale; requires update permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AnnouncementTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteAnnouncementTranslation",
        "summary": "Delete an announcement translation",
        "description": "Removes the translation for the given announcement in the specified locale; requires update permission on announcements.",
        "parameters": [
          {
            "in": "path",
            "name": "announcementId",
            "schema": {
              "type": "string"
            },
            "description": "The announcement identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Announcements::Translations"
        ]
      }
    },
    "/benefits": {
      "get": {
        "operationId": "GetBenefits",
        "summary": "List benefits",
        "description": "Returns a paginated list of benefits for the organization, optionally filtered to a specific event, with support for search and ordering; requires \"read\" permission on \"benefits\".",
        "parameters": [
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Benefit"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      },
      "post": {
        "operationId": "CreateBenefit",
        "summary": "Create a benefit",
        "description": "Creates a new member benefit for the organization (or an event, when scoped), requiring the \"create\" permission on benefits; the created benefit is returned and its list cache is invalidated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BenefitCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Benefit"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      }
    },
    "/benefits/{benefitId}": {
      "get": {
        "operationId": "GetBenefit",
        "summary": "Get a benefit",
        "description": "Returns the details of a single benefit by its ID; requires \"read\" permission on \"benefits\".",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Benefit"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      },
      "put": {
        "operationId": "UpdateBenefit",
        "summary": "Update a benefit",
        "description": "Updates the fields of the benefit identified by benefitId, requiring the \"update\" permission on benefits, and returns the updated benefit.",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BenefitTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Benefit"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      },
      "delete": {
        "operationId": "DeleteBenefit",
        "summary": "Delete a benefit",
        "description": "Permanently deletes the benefit identified by benefitId, requiring the \"del\" permission on benefits, and clears the benefit from cached list and detail queries.",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      }
    },
    "/benefits/{benefitId}/clicks": {
      "get": {
        "operationId": "GetBenefitClicks",
        "summary": "List a benefit's click events",
        "description": "Returns a paginated list of click-tracking records for the given benefit, supporting search and ordering; requires \"read\" permission on \"benefits\".",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BenefitClick"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits"
        ]
      }
    },
    "/benefits/{benefitId}/translations": {
      "get": {
        "operationId": "GetBenefitTranslations",
        "summary": "List a benefit's translations",
        "description": "Returns a paginated list of locale translations for the given benefit, supporting search and ordering; requires \"read\" permission on \"benefits\".",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BenefitTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits::Translations"
        ]
      }
    },
    "/benefits/{benefitId}/translations/{locale}": {
      "get": {
        "operationId": "GetBenefitTranslation",
        "summary": "Get a benefit's translation",
        "description": "Returns the translated text for a benefit in the given locale, or null if no translation exists for that locale; requires \"read\" permission on \"benefits\".",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BenefitTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateBenefitTranslation",
        "summary": "Update a benefit translation",
        "description": "Creates or updates the translated content (e.g. title, description) for the given benefit in the specified locale; requires update permission on benefits.",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BenefitTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteBenefitTranslation",
        "summary": "Delete a benefit translation",
        "description": "Removes the translation for the given benefit in the specified locale; requires update permission on benefits.",
        "parameters": [
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Benefits::Translations"
        ]
      }
    },
    "/bookings/places": {
      "get": {
        "operationId": "GetBookingPlaces",
        "summary": "List booking places",
        "description": "Returns a paginated list of an organization's booking places (bookable venues or locations), searchable by name, description, or address and sortable via orderBy; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingPlace"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "post": {
        "operationId": "CreateBookingPlace",
        "summary": "Create a booking place",
        "description": "Creates a new booking place (a bookable location such as a venue or facility) for the organization, requires the update bookings permission.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingPlaceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingPlace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Places"
        ]
      }
    },
    "/bookings/places/{placeId}": {
      "get": {
        "operationId": "GetBookingPlace",
        "summary": "Get a booking place",
        "description": "Retrieves a single booking place (a bookable venue or location) by ID or slug, including its address and configuration; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingPlace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingPlace",
        "summary": "Update a booking place",
        "description": "Updates the details of an existing booking place by its ID, excluding its image and identifying/audit fields, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingPlaceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingPlace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Places"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingPlace",
        "summary": "Delete a booking place",
        "description": "Permanently deletes a booking place from the organization by its ID, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Places"
        ]
      }
    },
    "/bookings/places/{placeId}/bookings": {
      "get": {
        "operationId": "GetBookingPlaceBookings",
        "summary": "List a booking place's bookings",
        "description": "Returns a paginated list of bookings made at a booking place, filterable by past/upcoming (`past`) and purchase status (`status`), and searchable by the booking account's name or email; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Booking"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/places/{placeId}/payments": {
      "get": {
        "operationId": "GetBookingPlacePayments",
        "summary": "List a booking place's payments",
        "description": "Returns a paginated list of payments made for bookings at a booking place, searchable by the paying account's name or email; requires the \"read\" permission on \"bookings\" and \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/places/{placeId}/translations": {
      "get": {
        "operationId": "GetBookingPlaceTranslations",
        "summary": "List a booking place's translations",
        "description": "Returns a paginated list of locale translations for a booking place, supporting search and ordering; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingPlaceTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/places/{placeId}/translations/{locale}": {
      "get": {
        "operationId": "GetBookingPlaceTranslation",
        "summary": "Get a booking place's translation",
        "description": "Retrieves the translated name and description of a booking place in a specific locale, returning null if no translation exists for that locale; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BookingPlaceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingPlaceTranslation",
        "summary": "Update a booking place's translation",
        "description": "Updates the translated fields (e.g. name, description) for a booking place in the given locale, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingPlaceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Places::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingPlaceTranslation",
        "summary": "Delete a booking place translation",
        "description": "Permanently deletes the translated content for the given locale on the specified booking place, requiring the \"update\" permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "The place identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Places::Translations"
        ]
      }
    },
    "/bookings/spaces": {
      "get": {
        "operationId": "GetBookingSpaces",
        "summary": "List booking spaces",
        "description": "Returns a paginated list of bookable spaces for the organization (no parent filter — includes spaces with no parents), or spaces linked to any combination of place, event, group, and/or account ids; supports search and ordering; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "query",
            "name": "placeId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by placeId",
            "required": false
          },
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by groupId",
            "required": false
          },
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpace"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "post": {
        "operationId": "CreateBookingSpace",
        "summary": "Create a booking space",
        "description": "Creates a new bookable space optionally linked to any combination of place, event, group, and account parent ids (all null = no parents; still appears in the org-wide list), requires the update bookings permission, and assigns the space a sort order relative to existing spaces if none is provided.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Spaces"
        ]
      }
    },
    "/bookings/spaces/{spaceId}": {
      "get": {
        "operationId": "GetBookingSpace",
        "summary": "Get a booking space",
        "description": "Returns a single bookable space by its id or slug; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpace",
        "summary": "Update a booking space",
        "description": "Updates the attributes of an existing booking space, including optional parent link changes (any combination of place/event/group/account ids; send null to unlink), and requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Spaces"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpace",
        "summary": "Delete a booking space",
        "description": "Deletes a booking space, requires the update bookings permission, and fails if the space still has existing bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Spaces"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/availabilities": {
      "get": {
        "operationId": "GetBookingSpaceAvailabilities",
        "summary": "List a booking space's weekly availability rules",
        "description": "Returns the recurring weekly availability windows configured for a booking space, i.e. the days and times the space can be booked; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceAvailability"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "post": {
        "operationId": "CreateBookingSpaceAvailability",
        "summary": "Create a booking space availability",
        "description": "Creates a recurring weekly availability window (day of week, start/end time) for the given booking space, requiring the \"update\" permission on bookings, and fails if the new window conflicts with an existing availability for that space.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceAvailabilityCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceAvailability"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Availabilities"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/availabilities/{availabilityId}": {
      "get": {
        "operationId": "GetBookingSpaceAvailability",
        "summary": "Get a booking space availability by id",
        "description": "Returns a single availability window for a booking space by id; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "availabilityId",
            "schema": {
              "type": "string"
            },
            "description": "The availability identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceAvailability"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceAvailability",
        "summary": "Update a booking space availability",
        "description": "Updates the day of week, start time, or end time of the availability window identified by availabilityId on the given booking space, requiring the \"update\" permission on bookings, and fails if the change conflicts with another existing availability.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "availabilityId",
            "schema": {
              "type": "string"
            },
            "description": "The availability identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceAvailabilityUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceAvailability"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Availabilities"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceAvailability",
        "summary": "Delete a booking space availability",
        "description": "Permanently deletes the recurring availability window identified by availabilityId from the given booking space, requiring the \"update\" permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "availabilityId",
            "schema": {
              "type": "string"
            },
            "description": "The availability identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Availabilities"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/blackouts": {
      "get": {
        "operationId": "GetBookingSpaceBlackouts",
        "summary": "List a booking space's blackouts",
        "description": "Returns a paginated list of blackout date/time ranges during which a booking space cannot be booked, filterable by past/upcoming via the \"past\" parameter and by search text; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceBlackout"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "post": {
        "operationId": "CreateBookingSpaceBlackout",
        "summary": "Create a booking space blackout",
        "description": "Creates a date/time range during which the given booking space is unavailable for bookings, requiring the \"update\" permission on bookings, and fails if the range overlaps an existing blackout for that space.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceBlackoutCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceBlackout"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Blackouts"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/blackouts/{blackoutId}": {
      "get": {
        "operationId": "GetBookingSpaceBlackout",
        "summary": "Get a booking space blackout",
        "description": "Returns a single blackout record for a booking space by id, i.e. a date/time range during which the space cannot be booked; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blackoutId",
            "schema": {
              "type": "string"
            },
            "description": "The blackout identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceBlackout"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceBlackout",
        "summary": "Update a booking space blackout",
        "description": "Updates the start or end time of the blackout window identified by blackoutId on the given booking space, requiring the \"update\" permission on bookings, and fails if the change overlaps another existing blackout.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blackoutId",
            "schema": {
              "type": "string"
            },
            "description": "The blackout identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceBlackoutUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceBlackout"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Blackouts"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceBlackout",
        "summary": "Delete a booking space blackout",
        "description": "Permanently deletes the blackout window identified by blackoutId from the given booking space, requiring the \"update\" permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blackoutId",
            "schema": {
              "type": "string"
            },
            "description": "The blackout identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Blackouts"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings": {
      "get": {
        "operationId": "GetBookingSpaceBookings",
        "summary": "List a booking space's bookings",
        "description": "Returns a paginated list of bookings made for a booking space, filterable by past/upcoming, purchase status, and search text against the account's name or email; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Booking"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "post": {
        "operationId": "CreateBooking",
        "summary": "Create a booking for a space",
        "description": "Creates a new booking within the specified booking space on behalf of an account, using the provided booking details, and requires the create bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings/{bookingId}": {
      "put": {
        "operationId": "UpdateBooking",
        "summary": "Update a booking",
        "description": "Updates an existing booking for a bookable space, identified by spaceId and bookingId, requiring update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "delete": {
        "operationId": "DeleteBooking",
        "summary": "Delete a booking",
        "description": "Permanently deletes an existing booking from a booking space and requires the delete bookings permission. The API returns the deleted booking (used to invalidate place-scoped lists when place-owned).",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings/{bookingId}/cancel": {
      "put": {
        "operationId": "CancelBooking",
        "summary": "Cancel a booking",
        "description": "Cancels an existing booking for a space, setting its status to canceled and triggering the booking cancellation side effect; requires the update bookings permission and only succeeds if the booking is currently ready or needs info.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings/{bookingId}/checkin": {
      "post": {
        "operationId": "CheckInBooking",
        "summary": "Check in a booking",
        "description": "Marks an existing booking as checked in by setting its checked-in timestamp, requires the update bookings permission, and fails if the booking is not in a ready or needs-info status or is already checked in.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings/{bookingId}/checkin/undo": {
      "post": {
        "operationId": "UndoCheckInBooking",
        "summary": "Undo a booking check-in",
        "description": "Reverts a previous check-in on a booking by clearing its checked-in timestamp and requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/bookings/{bookingId}/responses": {
      "put": {
        "operationId": "UpdateBookingResponses",
        "summary": "Update a booking's question responses",
        "description": "Bulk-updates the answers submitted to a booking space's custom questions for a specific booking, requires read and update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBookingResponsesInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Responses"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/payments": {
      "get": {
        "operationId": "GetBookingSpacePayments",
        "summary": "List a booking space's payments",
        "description": "Returns a paginated list of payments made for bookings in a booking space, filterable by search text against the paying account's name or email; requires the \"read\" permission on \"bookings\" and \"payments\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions": {
      "get": {
        "operationId": "GetBookingSpaceQuestions",
        "summary": "List a booking space's custom questions",
        "description": "Returns a paginated list of the custom questions configured for a booking space, supporting search over the question's name, label, and description and sorting via orderBy; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      },
      "post": {
        "operationId": "CreateBookingSpaceQuestion",
        "summary": "Create a booking space question",
        "description": "Creates a new custom question (with optional choices) on a booking space, inserting it at the given sort order among the space's existing questions; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/reorder": {
      "put": {
        "operationId": "ReorderBookingSpaceQuestions",
        "summary": "Reorder a booking space's questions",
        "description": "Sets the display order of all questions on a booking space by supplying the complete ordered list of question IDs; every existing question must be included or the request is rejected, and requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionsIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionsIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}": {
      "get": {
        "operationId": "GetBookingSpaceQuestion",
        "summary": "Get a booking space question",
        "description": "Retrieves a single custom question configured for a booking space, including its label, type, and settings; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceQuestion",
        "summary": "Update a booking space question",
        "description": "Updates the properties of an existing booking space question, such as its name, label, description, or sort order, moving it among the space's other questions if the sort order changes; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceQuestion",
        "summary": "Delete a booking space question",
        "description": "Permanently deletes a custom question from a booking space and re-sequences the sort order of the remaining questions; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/choices": {
      "get": {
        "operationId": "GetBookingSpaceQuestionChoices",
        "summary": "List a booking space question's choices",
        "description": "Returns a paginated list of selectable answer choices for a given question on a booking space, supporting search and ordering; requires \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestionChoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      },
      "post": {
        "operationId": "CreateBookingSpaceQuestionChoice",
        "summary": "Create a booking space question choice",
        "description": "Creates a new selectable choice for a multiple-choice question on a booking space, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionChoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/choices/reorder": {
      "put": {
        "operationId": "ReorderBookingSpaceQuestionChoices",
        "summary": "Reorder a booking question's choices",
        "description": "Sets the display order of a booking space question's choices by supplying the full list of choice IDs in the desired sequence, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "choicesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "choicesIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestionChoice"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/choices/{choiceId}": {
      "get": {
        "operationId": "GetBookingSpaceQuestionChoice",
        "summary": "Get a booking space question choice",
        "description": "Returns a single selectable answer choice for a question on a booking space, identified by place, space, question, and choice ID; requires \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceQuestionChoice",
        "summary": "Update a booking space question choice",
        "description": "Updates the details of an existing choice on a booking space question by its ID, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionChoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceQuestionChoice",
        "summary": "Delete a booking space question choice",
        "description": "Permanently deletes a choice from a booking space question by its ID, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/choices/{choiceId}/translations": {
      "get": {
        "operationId": "GetBookingSpaceQuestionChoiceTranslations",
        "summary": "List a booking question choice's translations",
        "description": "Returns the list of locale translations for a single answer choice on a booking space question; requires \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestionChoiceTranslation"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices::Translations"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/choices/{choiceId}/translations/{locale}": {
      "get": {
        "operationId": "GetBookingSpaceQuestionChoiceTranslation",
        "summary": "Get a booking question choice's translation",
        "description": "Returns the translated text for a booking space question choice in the given locale, or null if no translation exists for that locale; requires \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BookingSpaceQuestionChoiceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceQuestionChoiceTranslation",
        "summary": "Update a booking question choice's translation",
        "description": "Updates the translated label for a booking space question choice in the given locale, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionChoiceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestionChoiceTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceQuestionChoiceTranslation",
        "summary": "Delete a booking question choice's translation",
        "description": "Removes the translation for a specific locale from a booking space question choice, requires the update bookings permission.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Choices::Translations"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/searchlist": {
      "put": {
        "operationId": "AttachBookingSpaceQuestionSearchList",
        "summary": "Attach a search list to a booking question",
        "description": "Links an existing search list to a booking space question so its options are sourced from that list, replacing any previously attached search list; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachSearchListInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      },
      "delete": {
        "operationId": "DetachBookingSpaceQuestionSearchList",
        "summary": "Detach a search list from a booking question",
        "description": "Removes the search list currently linked to a booking space question, clearing its source of predefined options; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/translations": {
      "get": {
        "operationId": "GetBookingSpaceQuestionTranslations",
        "summary": "List a booking question's translations",
        "description": "Returns every locale translation available for a single booking space question, covering its label, description, and choice text; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceQuestionTranslation"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Translations"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetBookingSpaceQuestionTranslation",
        "summary": "Get a booking question's translation",
        "description": "Retrieves the translated label, description, and choices for a booking space question in a specific locale, returning null if no translation exists for that locale; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BookingSpaceQuestionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceQuestionTranslation",
        "summary": "Update a booking question translation",
        "description": "Creates or updates the localized content (such as label and description) for a booking space question in the given locale; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpaceQuestionTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceQuestionTranslation",
        "summary": "Delete a booking question translation",
        "description": "Deletes the translation for the given locale on a booking space question, removing that language's localized label, description, and other translated fields; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Questions::Translations"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/slots": {
      "get": {
        "operationId": "GetBookingSpaceSlots",
        "summary": "Get a booking space's available slots",
        "description": "Returns the day-by-day list of bookable time slots for a booking space for the calendar month starting at firstDayOfMonth, requiring read permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "firstDayOfMonth",
            "schema": {
              "type": "string"
            },
            "description": "Filter by firstDayOfMonth",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/tiers": {
      "get": {
        "operationId": "GetBookingSpaceTiers",
        "summary": "List a booking space's assigned tiers",
        "description": "Returns a paginated, searchable list of membership tiers assigned to a booking space, requiring read permission on bookings and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddBookingSpaceTier",
        "summary": "Add an account tier to a booking space",
        "description": "Grants an account tier access to a booking space by adding it to the space's allowed tiers list, requiring the update bookings permission and read access to tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "delete": {
        "operationId": "RemoveBookingSpaceTier",
        "summary": "Remove an account tier from a booking space",
        "description": "Revokes an account tier's access to a booking space by disconnecting it from the space's allowed tiers list, requiring the update bookings permission and read access to tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BookingSpace"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/translations": {
      "get": {
        "operationId": "GetBookingSpaceTranslations",
        "summary": "List a booking space's translations",
        "description": "Returns a paginated, searchable list of locale translations for a booking space, requiring read permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingSpaceTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/spaces/{spaceId}/translations/{locale}": {
      "get": {
        "operationId": "GetBookingSpaceTranslation",
        "summary": "Get a booking space's translation for a locale",
        "description": "Returns the localized name/description translation of a booking space for the given locale, or null if no translation exists, requiring read permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/BookingSpaceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      },
      "put": {
        "operationId": "UpdateBookingSpaceTranslation",
        "summary": "Update a booking space translation",
        "description": "Creates or updates the localized content (such as name) for a booking space in the given locale; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BookingSpaceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Spaces::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteBookingSpaceTranslation",
        "summary": "Delete a booking space translation",
        "description": "Deletes the translation for the given locale on a booking space, removing that language's localized name and other translated fields; requires update permission on bookings.",
        "parameters": [
          {
            "in": "path",
            "name": "spaceId",
            "schema": {
              "type": "string"
            },
            "description": "The space identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Spaces::Translations"
        ]
      }
    },
    "/bookings/{bookingId}": {
      "get": {
        "operationId": "GetBooking",
        "summary": "Get a booking",
        "description": "Retrieves the full details of a single booking by ID, including the place, space, and time slot it belongs to; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Booking"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/{bookingId}/responses": {
      "get": {
        "operationId": "GetBookingResponses",
        "summary": "List a booking's question responses",
        "description": "Returns the answers an account submitted to a booking space's custom questions for a specific booking, ordered by question sort order; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseBookingQuestionResponse"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings"
        ]
      }
    },
    "/bookings/{bookingId}/responses/{questionId}/changes": {
      "get": {
        "operationId": "GetBookingResponseChanges",
        "summary": "List a booking response's edit history",
        "description": "Returns a paginated list of edits made to a single question response on a booking, including the old and new values for each change; requires the \"read\" permission on \"bookings\".",
        "parameters": [
          {
            "in": "path",
            "name": "bookingId",
            "schema": {
              "type": "string"
            },
            "description": "The booking identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BookingQuestionResponseChange"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Bookings::Responses"
        ]
      }
    },
    "/channels": {
      "get": {
        "operationId": "GetChannels",
        "summary": "List channels",
        "description": "Returns a paginated list of channels for the organization, optionally filtered by search term and sort order, requiring read permission on channels.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Channel"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "post": {
        "operationId": "CreateChannel",
        "summary": "Create a channel",
        "description": "Creates a new content channel for the organization, requiring create permission on channels.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Channel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/featured": {
      "get": {
        "operationId": "GetFeaturedChannels",
        "summary": "List featured channels",
        "description": "Returns a paginated list of channels marked as featured for the organization; requires read permission on channels.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Channel"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}": {
      "get": {
        "operationId": "GetChannel",
        "summary": "Get a channel",
        "description": "Retrieves a single channel by its ID or slug, requiring read permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Channel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "put": {
        "operationId": "UpdateChannel",
        "summary": "Update a channel",
        "description": "Updates the properties of an existing channel, such as its name and settings, requiring update permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Channel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "DeleteChannel",
        "summary": "Delete a channel",
        "description": "Permanently deletes the specified channel and its association from the organization, requiring delete permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/activities": {
      "get": {
        "operationId": "GetChannelActivities",
        "summary": "List a channel's activity feed",
        "description": "Returns a paginated list of activity records posted to the given channel, optionally filtered by activity status, search term, and sort order, requiring read permission on channels and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents": {
      "get": {
        "operationId": "GetChannelContents",
        "summary": "List a channel's content",
        "description": "Returns a paginated list of content items belonging to the given channel, optionally filtered by featured status and search term, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "post": {
        "operationId": "CreateChannelContent",
        "summary": "Create channel content",
        "description": "Creates a new content item (post) within the specified channel, requiring create permission on contents, and invalidates the channel's subscriber cache on success.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}": {
      "get": {
        "operationId": "GetChannelContent",
        "summary": "Get a channel's content item",
        "description": "Retrieves a single piece of content belonging to the given channel by its content ID, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "put": {
        "operationId": "UpdateChannelContent",
        "summary": "Update channel content",
        "description": "Updates the fields of an existing content item within a channel, such as its title, body, or publish settings, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "DeleteChannelContent",
        "summary": "Delete channel content",
        "description": "Permanently deletes a specific content item from the given channel, requiring delete permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/activities": {
      "get": {
        "operationId": "GetChannelContentActivities",
        "summary": "List a content item's activity feed",
        "description": "Returns a paginated list of activity records posted on a specific content item within a channel, optionally filtered by activity status and search term, requiring read permission on channels, contents, and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/guests": {
      "get": {
        "operationId": "GetChannelContentGuests",
        "summary": "List a content item's guests",
        "description": "Returns a paginated list of guests (e.g. speakers/panelists) associated with a specific content item within a channel, optionally filtered by search term and sort order, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContentGuest"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "post": {
        "operationId": "CreateChannelContentGuest",
        "summary": "Add a guest to channel content",
        "description": "Adds a guest (such as a speaker or host) to a specific content item within a channel, requiring update permission on contents, and returns the created guest record.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentGuestCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContentGuest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/guests/{guestId}": {
      "get": {
        "operationId": "GetChannelContentGuest",
        "summary": "Get a content item's guest",
        "description": "Retrieves a single guest record for a specific content item within a channel by guest ID, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            },
            "description": "Filter by status",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContentGuest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "put": {
        "operationId": "UpdateChannelContentGuest",
        "summary": "Update a content guest",
        "description": "Updates a guest speaker or panelist record attached to a piece of channel content, such as their name, bio, title, company, or image, and requires update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentGuestUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContentGuest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "DeleteChannelContentGuest",
        "summary": "Remove a guest from channel content",
        "description": "Removes a specific guest (such as a speaker or host) from a content item within a channel, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/guests/{guestId}/translations": {
      "get": {
        "operationId": "GetChannelContentGuestTranslations",
        "summary": "List a channel content guest's translations",
        "description": "Returns a paginated, searchable list of locale translations for a guest of a piece of channel content, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContentGuestTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/guests/{guestId}/translations/{locale}": {
      "get": {
        "operationId": "GetChannelContentGuestTranslation",
        "summary": "Get a channel content guest's translation for a locale",
        "description": "Returns the localized translation of a channel content guest's fields for the given locale, or null if no translation exists, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ChannelContentGuestTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateChannelContentGuestTranslation",
        "summary": "Update a channel content guest translation",
        "description": "Creates or updates the translation for a specific locale on a channel content item's guest speaker/author, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentGuestTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContentGuestTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteChannelContentGuestTranslation",
        "summary": "Delete a channel content guest translation",
        "description": "Removes the translation for a specific locale on a channel content item's guest speaker/author, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "guestId",
            "schema": {
              "type": "string"
            },
            "description": "The guest identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/likes": {
      "get": {
        "operationId": "GetChannelContentLikes",
        "summary": "List a content item's likes",
        "description": "Returns a paginated list of accounts that liked a specific content item within a channel, optionally filtered by search term and sort order, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContentLike"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/revertToDraft": {
      "put": {
        "operationId": "RevertChannelContentToDraft",
        "summary": "Revert channel content to draft",
        "description": "Changes a published or scheduled content item back to draft status, unpublishing it, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/schedule": {
      "post": {
        "operationId": "UpdateChannelContentPublishSchedule",
        "summary": "Schedule channel content for publishing",
        "description": "Sets or updates the future publish date for a piece of channel content, and optionally triggers email and push notifications when it goes live; requires update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "CancelChannelContentPublishSchedule",
        "summary": "Cancel a scheduled channel content publish",
        "description": "Cancels the pending scheduled publish date for a piece of channel content, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelContent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/translations": {
      "get": {
        "operationId": "GetChannelContentTranslations",
        "summary": "List a channel content item's translations",
        "description": "Returns a paginated, searchable list of locale translations for a piece of channel content, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContentTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/channels/{channelId}/contents/{contentId}/translations/{locale}": {
      "get": {
        "operationId": "GetChannelContentTranslation",
        "summary": "Get a channel content item's translation for a locale",
        "description": "Returns the localized translation of a channel content item's fields for the given locale, or null if no translation exists, requiring read permission on channels and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ChannelContentTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateChannelContentTranslation",
        "summary": "Update a channel content translation",
        "description": "Creates or updates the translation for a specific locale on a piece of channel content, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelContentTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteChannelContentTranslation",
        "summary": "Delete a channel content translation",
        "description": "Removes the translation for a specific locale on a piece of channel content, requiring update permission on contents.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "description": "The content identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/channels/{channelId}/subscribers": {
      "get": {
        "operationId": "GetChannelSubscribers",
        "summary": "List a channel's subscribers",
        "description": "Returns a paginated list of accounts subscribed to the given channel, optionally filtered by subscription status and searched by keyword; requires read permission on channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseChannelSubscriber"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "post": {
        "operationId": "AddChannelSubscriber",
        "summary": "Subscribe an account to a channel",
        "description": "Adds the given account as a subscriber of the specified channel, requiring update permission on both channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": {
                    "type": "string"
                  }
                },
                "required": [
                  "accountId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BaseChannelSubscriber"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "RemoveAllChannelSubscribers",
        "summary": "Remove all subscribers from a channel",
        "description": "Unsubscribes every account currently subscribed to the specified channel, requiring update and delete permission on channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Channel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/subscribers/{accountId}": {
      "get": {
        "operationId": "GetChannelSubscriber",
        "summary": "Get a channel's subscriber",
        "description": "Retrieves a single subscription record for the given account on the given channel, requiring read permission on channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BaseChannelSubscriber"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "put": {
        "operationId": "UpdateChannelSubscriber",
        "summary": "Update an account's channel subscription",
        "description": "Updates the subscription settings, such as the activity notification preference, for a given account's subscription to a channel; requires update permission on both channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelSubscriberUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BaseChannelSubscriber"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      },
      "delete": {
        "operationId": "RemoveChannelSubscriber",
        "summary": "Remove a subscriber from a channel",
        "description": "Unsubscribes a specific account from the given channel, requiring update permission on channels and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/BaseChannelSubscriber"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/channels/{channelId}/translations": {
      "get": {
        "operationId": "GetChannelTranslations",
        "summary": "List a channel's translations",
        "description": "Returns a paginated, searchable list of locale translations for a channel, requiring read permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/channels/{channelId}/translations/{locale}": {
      "get": {
        "operationId": "GetChannelTranslation",
        "summary": "Get a channel's translation for a locale",
        "description": "Returns the localized translation of a channel's fields for the given locale, or null if no translation exists, requiring read permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ChannelTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateChannelTranslation",
        "summary": "Update a channel translation",
        "description": "Creates or updates the translation for a specific locale on a channel's name/description, requiring update permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChannelTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ChannelTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteChannelTranslation",
        "summary": "Delete a channel translation",
        "description": "Removes the translation for a specific locale on a channel's name/description, requiring update permission on channels.",
        "parameters": [
          {
            "in": "path",
            "name": "channelId",
            "schema": {
              "type": "string"
            },
            "description": "The channel identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels::Translations"
        ]
      }
    },
    "/contents": {
      "get": {
        "operationId": "GetContents",
        "summary": "List organization-wide channel content",
        "description": "Returns a paginated list of content items (videos, audio, or articles) across all of the organization's channels, filterable by featured status, content type, and whether publish date is in the past or upcoming; requires read permission on contents.",
        "parameters": [
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string",
              "enum": [
                "video",
                "audio",
                "article"
              ]
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Channels"
        ]
      }
    },
    "/dashboard/{dashboardId}/widgets": {
      "get": {
        "operationId": "GetDashboardWidgets",
        "summary": "List widgets available for a dashboard",
        "description": "Returns the analytics widgets that can be added to the given dashboard, scoped to event or session widgets for event dashboards and organization widgets otherwise, optionally filtered by widget type; requires read permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "Filter by type",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DashboardWidget"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards::Widgets"
        ]
      }
    },
    "/dashboards": {
      "get": {
        "operationId": "GetDashboards",
        "summary": "List dashboards",
        "description": "Returns a paginated list of the organization's dashboards, optionally filtered to those belonging to a specific event; requires read permission on dashboards.",
        "parameters": [
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseDashboard"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards"
        ]
      },
      "post": {
        "operationId": "CreateDashboard",
        "summary": "Create a dashboard",
        "description": "Creates a new analytics dashboard for the organization, optionally scoped to a specific event, and requires create permission on dashboards.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DashboardCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Dashboard"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards"
        ]
      }
    },
    "/dashboards/{dashboardId}": {
      "get": {
        "operationId": "GetDashboard",
        "summary": "Get a dashboard",
        "description": "Returns a single dashboard by ID, including its configuration; requires read permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Dashboard"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards"
        ]
      },
      "put": {
        "operationId": "UpdateDashboard",
        "summary": "Update a dashboard",
        "description": "Updates properties of an existing analytics dashboard, such as its name, and requires update permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DashboardUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Dashboard"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards"
        ]
      },
      "delete": {
        "operationId": "DeleteDashboard",
        "summary": "Delete a dashboard",
        "description": "Permanently deletes an analytics dashboard, including its widgets, and requires delete permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards"
        ]
      }
    },
    "/dashboards/{dashboardId}/widgets": {
      "post": {
        "operationId": "CreateDashboardWidget",
        "summary": "Add a widget to a dashboard",
        "description": "Creates a new widget on a dashboard using a specified analytics endpoint and widget configuration, and requires update permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DashboardWidgetCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/DashboardWidget"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards::Widgets"
        ]
      }
    },
    "/dashboards/{dashboardId}/widgets/{widgetId}": {
      "put": {
        "operationId": "UpdateDashboardWidget",
        "summary": "Update a dashboard widget",
        "description": "Updates the configuration of an existing widget on a dashboard, such as its layout, title, or settings, and requires update permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "widgetId",
            "schema": {
              "type": "string"
            },
            "description": "The widget identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DashboardWidgetUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/DashboardWidget"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards::Widgets"
        ]
      },
      "delete": {
        "operationId": "DeleteDashboardWidget",
        "summary": "Remove a widget from a dashboard",
        "description": "Permanently deletes a single widget from a dashboard, and requires update permission on dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "dashboardId",
            "schema": {
              "type": "string"
            },
            "description": "The dashboard identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "widgetId",
            "schema": {
              "type": "string"
            },
            "description": "The widget identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Dashboards::Widgets"
        ]
      }
    },
    "/events": {
      "get": {
        "operationId": "GetEvents",
        "summary": "List events",
        "description": "Returns a paginated list of the organization's events, excluding templates, with optional filters for past vs. upcoming events, featured status, and a search term, plus sorting via orderBy; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseEvent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      },
      "post": {
        "operationId": "CreateEvent",
        "summary": "Create an event",
        "description": "Creates a new event for the organization from the given details, requiring the create events permission.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/templates": {
      "get": {
        "operationId": "GetTemplates",
        "summary": "List event templates",
        "description": "Returns a paginated list of events marked as templates for the organization, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Templates"
        ]
      }
    },
    "/events/{eventId}": {
      "get": {
        "operationId": "GetEvent",
        "summary": "Get an event",
        "description": "Retrieves the full details of a single event by ID or slug; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      },
      "put": {
        "operationId": "UpdateEvent",
        "summary": "Update an event",
        "description": "Updates the details of an existing event with the given fields, requiring the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      },
      "delete": {
        "operationId": "DeleteEvent",
        "summary": "Delete an event",
        "description": "Permanently deletes the given event and its associated data, requiring the delete events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/access-users": {
      "get": {
        "operationId": "GetEventAccessUsers",
        "summary": "List an event's access users",
        "description": "Returns a paginated list of users granted access to the given private or restricted event, searchable by keyword; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseUser"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Access"
        ]
      },
      "post": {
        "operationId": "AddEventAccessUser",
        "summary": "Grant a user access to an event",
        "description": "Looks up an existing platform user by email and grants them admin access to manage a specific event, and requires update permission on events; fails if no user with that email exists.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Access"
        ]
      }
    },
    "/events/{eventId}/access-users/{userId}": {
      "delete": {
        "operationId": "RemoveEventAccessUser",
        "summary": "Revoke a user's private event access",
        "description": "Removes a user from the list of users explicitly granted access to a private event, revoking their ability to view or purchase it; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "The user identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Access"
        ]
      }
    },
    "/events/{eventId}/activations": {
      "get": {
        "operationId": "GetEventActivations",
        "summary": "List an event's activations",
        "description": "Returns a paginated list of activations configured for the given event, supporting search and ordering; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventActivation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "post": {
        "operationId": "CreateEventActivation",
        "summary": "Create an event activation",
        "description": "Creates a new activation (e.g. a scavenger-hunt or reward task) on the given event, automatically assigning its display sort order if one is not provided; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventActivationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}": {
      "get": {
        "operationId": "GetEventActivation",
        "summary": "Get an event activation",
        "description": "Retrieves a single activation by ID or slug for the given event, including its configuration and reward details; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "put": {
        "operationId": "UpdateEventActivation",
        "summary": "Update an event activation",
        "description": "Updates the fields of a gamification activation for the given event, such as its name, points, or configuration; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventActivationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventActivation",
        "summary": "Delete an event activation",
        "description": "Permanently deletes an activation from the given event, along with its association to any sessions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/completions": {
      "get": {
        "operationId": "GetEventActivationCompletions",
        "summary": "List completions for an activation",
        "description": "Returns a paginated list of completion records for an event activation, searchable by the completing attendee's name, username, or email; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ActivationCompletion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "post": {
        "operationId": "CreateEventActivationCompletion",
        "summary": "Record an attendee's activation completion",
        "description": "Marks an activation as completed for the pass given in the request body, awarding its points (or a specified earned-points amount for \"input\" reward types) and failing if that pass has already completed the activation; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventActivationCompletionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ActivationCompletion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/completions/{completionId}": {
      "get": {
        "operationId": "GetEventActivationCompletion",
        "summary": "Get an activation completion record",
        "description": "Retrieves a single completion record for an event activation, showing the pass that completed it and the points earned; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "completionId",
            "schema": {
              "type": "string"
            },
            "description": "The completion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ActivationCompletion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "put": {
        "operationId": "UpdateEventActivationCompletion",
        "summary": "Update an activation completion's earned points",
        "description": "Updates the earned points on an existing completion record for the given event activation, identified by completion id; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "completionId",
            "schema": {
              "type": "string"
            },
            "description": "The completion identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventActivationCompletionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ActivationCompletion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventActivationCompletion",
        "summary": "Delete an activation completion record",
        "description": "Permanently removes a specific attendee's completion record for an event activation, effectively un-completing it; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "completionId",
            "schema": {
              "type": "string"
            },
            "description": "The completion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/sessions": {
      "get": {
        "operationId": "GetEventActivationSessions",
        "summary": "List sessions linked to an activation",
        "description": "Returns a paginated list of event sessions associated with the specified activation, supporting search and ordering; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations"
        ]
      },
      "delete": {
        "operationId": "RemoveEventActivationSessions",
        "summary": "Detach all sessions from an activation",
        "description": "Disconnects every event session currently linked to an activation, clearing its session-based check-in requirements in a single call; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Sessions"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddEventActivationSession",
        "summary": "Attach a session to an activation",
        "description": "Links an existing event session to an activation so checking in to that session counts toward completing it, failing if the session is already connected to another activation or if the activation's reward type is \"input\"; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventActivationSession",
        "summary": "Detach a session from an activation",
        "description": "Disconnects a single event session from an activation so checking in to it no longer counts toward completing the activation; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventActivation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Sessions"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/translations": {
      "get": {
        "operationId": "GetEventActivationTranslations",
        "summary": "List translations for an activation",
        "description": "Returns a paginated list of locale translations for the specified event activation, supporting search and ordering; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ActivationTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Translations"
        ]
      }
    },
    "/events/{eventId}/activations/{activationId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventActivationTranslation",
        "summary": "Get an event activation's translation",
        "description": "Returns the translated content for a given event activation in the specified locale, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/ActivationTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventActivationTranslation",
        "summary": "Create or update an activation's translation",
        "description": "Upserts the translated name and descriptions for an event activation in the specified locale, creating the translation record if it does not already exist; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventActivationTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ActivationTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventActivationTranslation",
        "summary": "Delete an activation's translation",
        "description": "Removes the translated content for an event activation in the specified locale, deleting that locale's name and descriptions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "activationId",
            "schema": {
              "type": "string"
            },
            "description": "The activation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Activations::Translations"
        ]
      }
    },
    "/events/{eventId}/activities": {
      "get": {
        "operationId": "GetEventActivities",
        "summary": "List an event's activity feed",
        "description": "Returns a paginated list of activities associated with the given event, filterable by featured flag and activity status, and supporting search and ordering; requires read permission on events and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "object"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/addOns": {
      "get": {
        "operationId": "GetEventAddOns",
        "summary": "List an event's add-ons",
        "description": "Returns a paginated list of add-ons configured for the specified event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOn"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      },
      "post": {
        "operationId": "CreateEventAddOn",
        "summary": "Create an event add-on",
        "description": "Creates a new purchasable add-on (e.g. merchandise, upgrade) for the given event; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventAddOnCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}": {
      "get": {
        "operationId": "GetEventAddOn",
        "summary": "Get an event add-on",
        "description": "Retrieves a single add-on by ID for the given event, including its pricing and configuration details; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      },
      "put": {
        "operationId": "UpdateEventAddOn",
        "summary": "Update an event add-on",
        "description": "Updates an existing add-on for an event, including its name, pricing, and related settings; if a new sortOrder is provided the other add-ons for the event are reordered around it, and this requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventAddOnUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      },
      "delete": {
        "operationId": "DeleteEventAddOn",
        "summary": "Delete an event add-on",
        "description": "Permanently removes a purchasable add-on from the given event; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/passTypes": {
      "get": {
        "operationId": "GetEventAddOnPassTypes",
        "summary": "List pass types eligible for an add-on",
        "description": "Returns a paginated list of the event's pass types (tickets) that the given add-on is available for, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventAddOnPassType",
        "summary": "Allow a pass type to purchase an add-on",
        "description": "Adds the given pass type to the add-on's allowed pass types, permitting attendees with that pass type to purchase the event add-on; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      },
      "delete": {
        "operationId": "RemoveEventAddOnPassType",
        "summary": "Revoke a pass type's access to an add-on",
        "description": "Removes the given pass type from the add-on's allowed pass types, preventing attendees with that pass type from purchasing the event add-on; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/passes": {
      "get": {
        "operationId": "GetEventAddOnPasses",
        "summary": "List purchases of an event add-on",
        "description": "Returns a paginated list of pass purchases (in needsInfo, ready, or pending status) that include the given add-on for the specified event, supporting search and ordering; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/tiers": {
      "get": {
        "operationId": "GetEventAddOnTiers",
        "summary": "List account tiers allowed or disallowed for an add-on",
        "description": "Returns a paginated list of account tiers that are either allowed or disallowed (per the required `allowed` flag) from purchasing the given event add-on, supporting search and ordering; requires read permission on events and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventAddOnTier",
        "summary": "Set an account tier's access to an add-on",
        "description": "Adds the given account tier to the add-on's allowed or disallowed tier list, controlling whether members of that tier can purchase the event add-on, based on the `allowed` flag; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      },
      "delete": {
        "operationId": "RemoveEventAddOnTier",
        "summary": "Remove an account tier's access setting from an add-on",
        "description": "Removes the given account tier from the add-on's allowed or disallowed tier list (per the `allowed` flag), clearing that tier's explicit access rule for the event add-on; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/translations": {
      "get": {
        "operationId": "GetEventAddOnTranslations",
        "summary": "List translations for an add-on",
        "description": "Returns a paginated list of locale translations for the specified event add-on, supporting search and ordering; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOnTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons::Translations"
        ]
      }
    },
    "/events/{eventId}/addOns/{addOnId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventAddOnTranslation",
        "summary": "Get an add-on translation for a locale",
        "description": "Retrieves the translated text for a single event add-on in the specified locale, or null if no translation exists for that locale; requires read access to the event's events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventAddOnTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventAddOnTranslation",
        "summary": "Update an event add-on translation",
        "description": "Creates or updates the localized content (e.g. name, description) for an event add-on in the given locale; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventAddOnTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAddOnTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventAddOnTranslation",
        "summary": "Delete an event add-on translation",
        "description": "Removes the translation for a given locale from an event add-on, reverting that locale to the add-on's default content; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Addons::Translations"
        ]
      }
    },
    "/events/{eventId}/all-sessions/rounds": {
      "get": {
        "operationId": "GetEventSessionsWithRounds",
        "summary": "List event sessions that have networking rounds",
        "description": "Returns every session for the event that has at least one networking round with matches, with each session's rounds embedded; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "object"
                        }
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/attributes": {
      "get": {
        "operationId": "GetEventAttributes",
        "summary": "List an event's attributes",
        "description": "Returns a paginated list of custom attribute definitions configured for the given event, with optional search and sort order; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAttribute"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Attributes"
        ]
      },
      "post": {
        "operationId": "CreateEventAttribute",
        "summary": "Create an event attribute",
        "description": "Creates a new named attribute on the given event, which can then be assigned to pass types to tag or categorize them; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventAttributeCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Attributes"
        ]
      }
    },
    "/events/{eventId}/attributes/{attributeId}": {
      "get": {
        "operationId": "GetEventAttribute",
        "summary": "Get an event attribute",
        "description": "Returns a single custom attribute definition belonging to the given event; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Attributes"
        ]
      },
      "put": {
        "operationId": "UpdateEventAttribute",
        "summary": "Update an event attribute",
        "description": "Updates the name or other fields of the specified attribute on the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventAttributeUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Attributes"
        ]
      },
      "delete": {
        "operationId": "DeleteEventAttribute",
        "summary": "Delete an event attribute",
        "description": "Permanently deletes the specified attribute from the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Attributes"
        ]
      }
    },
    "/events/{eventId}/benefits/{benefitId}": {
      "post": {
        "operationId": "AddEventBenefit",
        "summary": "Add a benefit to an event",
        "description": "Associates an existing benefit with the given event so it is granted to the event's attendees; requires \"update\" permission on both events and benefits.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Benefit"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Benefits"
        ]
      },
      "delete": {
        "operationId": "RemoveEventBenefit",
        "summary": "Remove a benefit from an event",
        "description": "Disassociates the specified benefit from the given event so it is no longer granted to the event's attendees; requires \"update\" permission on both events and benefits.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "benefitId",
            "schema": {
              "type": "string"
            },
            "description": "The benefit identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Benefit"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Benefits"
        ]
      }
    },
    "/events/{eventId}/blocks": {
      "get": {
        "operationId": "GetEventBlocks",
        "summary": "List an event's agenda blocks",
        "description": "Returns a paginated list of the blocks (agenda groupings used to organize sessions) defined for the given event, supporting search and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventBlock"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      },
      "post": {
        "operationId": "CreateEventBlock",
        "summary": "Create an event schedule block",
        "description": "Creates a new schedule block (a grouping of sessions, such as a day or track segment) for the given event and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventBlockCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventBlock"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      }
    },
    "/events/{eventId}/blocks/{blockId}": {
      "get": {
        "operationId": "GetEventBlock",
        "summary": "Get an event schedule block",
        "description": "Returns a single schedule block (a grouping used to organize sessions) belonging to the given event; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventBlock"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      },
      "put": {
        "operationId": "UpdateEventBlock",
        "summary": "Update an event schedule block",
        "description": "Updates the fields of an existing schedule block on the given event, such as its name or image, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventBlockUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventBlock"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      },
      "delete": {
        "operationId": "DeleteEventBlock",
        "summary": "Delete an event schedule block",
        "description": "Permanently deletes the specified schedule block from the given event and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      }
    },
    "/events/{eventId}/blocks/{blockId}/sessions": {
      "get": {
        "operationId": "GetEventBlockSessions",
        "summary": "List sessions in an event block",
        "description": "Returns a paginated list of the sessions assigned to a specific agenda block on the given event, supporting search and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      }
    },
    "/events/{eventId}/blocks/{blockId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddEventBlockSession",
        "summary": "Add a session to an event block",
        "description": "Adds the specified session to the given block (a schedule grouping of selectable sessions) on the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventBlock"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      },
      "delete": {
        "operationId": "RemoveEventBlockSession",
        "summary": "Remove a session from an event block",
        "description": "Disconnects the specified session from the given event schedule block without deleting the session itself, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventBlock"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Blocks"
        ]
      }
    },
    "/events/{eventId}/build-mode": {
      "post": {
        "operationId": "EnableEventBuildMode",
        "summary": "Enable build mode for an event",
        "description": "Temporarily puts an event into build mode for 2 hours, allowing editing access while it is being configured, and returns the timestamp when build mode expires; requires the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "oneOf": [
                        {
                          "type": "object"
                        },
                        {
                          "type": "object"
                        }
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      },
      "delete": {
        "operationId": "DisableEventBuildMode",
        "summary": "Disable build mode for an event",
        "description": "Turns off build mode for an event ahead of its scheduled expiration, restoring normal access restrictions; requires the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "oneOf": [
                        {
                          "type": "object"
                        },
                        {
                          "type": "object"
                        }
                      ]
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/bypass": {
      "get": {
        "operationId": "GetEventRegistrationBypassList",
        "summary": "List an event's registration bypasses",
        "description": "Returns a paginated list of registration bypass records for the given event, which grant specific accounts the ability to register outside normal registration windows (before opening, after closing, or while registration is disabled), supporting search by account name/email and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationBypass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Bypass"
        ]
      },
      "post": {
        "operationId": "CreateEventRegistrationBypass",
        "summary": "Create an event registration bypass",
        "description": "Creates a registration bypass for the given event, allowing a specific account to skip normal registration requirements, and requires create permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationBypassCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationBypass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Bypass"
        ]
      }
    },
    "/events/{eventId}/bypass/{bypassId}": {
      "get": {
        "operationId": "GetEventRegistrationBypass",
        "summary": "Get a single registration bypass",
        "description": "Retrieves one registration bypass record for the given event by its ID, showing which account it grants access to and which registration restriction (closed, before start, or after end) it bypasses; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bypassId",
            "schema": {
              "type": "string"
            },
            "description": "The bypass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationBypass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Bypass"
        ]
      },
      "put": {
        "operationId": "UpdateEventRegistrationBypass",
        "summary": "Update an event registration bypass",
        "description": "Updates the fields of an existing registration bypass on the given event, such as the associated account, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bypassId",
            "schema": {
              "type": "string"
            },
            "description": "The bypass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationBypassUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationBypass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Bypass"
        ]
      },
      "delete": {
        "operationId": "DeleteEventRegistrationBypass",
        "summary": "Delete an event registration bypass",
        "description": "Permanently deletes the specified registration bypass from the given event and requires delete permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "bypassId",
            "schema": {
              "type": "string"
            },
            "description": "The bypass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Bypass"
        ]
      }
    },
    "/events/{eventId}/clone": {
      "post": {
        "operationId": "CloneEvent",
        "summary": "Clone an event",
        "description": "Creates a new event as a copy of an existing one, using the given name and start date and letting the caller select which related resources (such as pass types, packages, add-ons, tracks, sessions, and onsite settings) are copied over; requires the create events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CloneOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/coHosts": {
      "get": {
        "operationId": "GetEventCoHosts",
        "summary": "List an event's co-host accounts",
        "description": "Returns a paginated list of accounts designated as co-hosts of the given event, supporting search and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Cohosts"
        ]
      }
    },
    "/events/{eventId}/coHosts/{accountId}": {
      "post": {
        "operationId": "AddEventCoHost",
        "summary": "Add a co-host to an event",
        "description": "Connects the specified account as a co-host of the given event and requires update permission on events; an account cannot be added as a co-host of itself.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Cohosts"
        ]
      },
      "delete": {
        "operationId": "RemoveEventCoHost",
        "summary": "Remove a co-host from an event",
        "description": "Disconnects the specified account from the given event's co-host list and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Account"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Cohosts"
        ]
      }
    },
    "/events/{eventId}/coupons": {
      "get": {
        "operationId": "GetEventCoupons",
        "summary": "List an event's coupons",
        "description": "Returns a paginated list of coupons for the given event, filterable by `prePaid` (group-paid vs. standard coupons) and by `includeVariants` to include child coupon variants, with search and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "prePaid",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by prePaid",
            "required": false
          },
          {
            "in": "query",
            "name": "includeVariants",
            "schema": {
              "type": "object"
            },
            "description": "Filter by includeVariants",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Coupon"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "post": {
        "operationId": "CreateEventCoupon",
        "summary": "Create an event coupon",
        "description": "Creates a new discount coupon for the given event and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCouponCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}": {
      "get": {
        "operationId": "GetEventCoupon",
        "summary": "Get a single event coupon",
        "description": "Retrieves the details of one coupon (by ID or code) for the given event, including its discount configuration and pre-paid/group settings; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "put": {
        "operationId": "UpdateEventCoupon",
        "summary": "Update an event coupon",
        "description": "Updates the properties of an existing coupon on an event, such as its discount, active state, dates, and usage limits, blocking changes to the purchase limit on pre-paid coupons; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventCouponUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "delete": {
        "operationId": "DeleteEventCoupon",
        "summary": "Delete an event coupon",
        "description": "Permanently deletes a coupon from an event, failing if any purchases have already used the coupon; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}/passes": {
      "get": {
        "operationId": "GetEventCouponPasses",
        "summary": "List purchases made with a coupon",
        "description": "Returns a paginated list of pass purchases made using the given coupon (or any of its variants) on the event, supporting search by attendee name/email or purchase ID; requires \"read\" permission on both events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}/payments": {
      "get": {
        "operationId": "GetEventCouponPayments",
        "summary": "List payments made with a coupon",
        "description": "Returns a paginated list of payments on the given event that used the specified coupon, supporting search and `orderBy` sorting; requires \"read\" permission on both events and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}/tiers": {
      "get": {
        "operationId": "GetEventCouponTiers",
        "summary": "List event coupon tiers",
        "description": "Lists the ticket tiers currently on an event coupon's allow-list or disallow-list; the allowed flag selects which list to return (allowed tiers when true, disallowed tiers when false), with pagination, ordering, and search support.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventCouponTier",
        "summary": "Add tier to event coupon",
        "description": "Adds a ticket tier to an event coupon's allow-list or disallow-list; when allowed is true the tier is connected to the coupon's allowed tiers, otherwise to its disallowed tiers. Requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "delete": {
        "operationId": "RemoveEventCouponTier",
        "summary": "Remove tier from event coupon",
        "description": "Removes a ticket tier from an event coupon's allow-list or disallow-list; the allowed query flag selects which list to disconnect the tier from (allowed tiers when true, disallowed tiers when false). Requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{couponId}/variants": {
      "post": {
        "operationId": "CreateEventCouponVariants",
        "summary": "Create variant coupons from a parent coupon",
        "description": "Generates the given quantity of unique, randomly-coded variant coupons cloned from a parent coupon's settings, failing if the parent is itself a variant or is pre-paid; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventVariantCouponCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "number"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "put": {
        "operationId": "SyncEventCouponToVariants",
        "summary": "Sync a coupon's fields to its variants",
        "description": "Copies the given list of field values from a parent coupon onto all of its variant coupons, failing if the target is itself a variant; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventVariantCouponSyncInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Coupon"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      },
      "delete": {
        "operationId": "DeleteEventCouponVariants",
        "summary": "Delete all variants of a coupon",
        "description": "Deletes every variant coupon generated from a parent coupon, failing if the target is itself a variant or if any variant has already been used in a purchase; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "couponId",
            "schema": {
              "type": "string"
            },
            "description": "The coupon identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/coupons/{parentCouponId}/variants": {
      "get": {
        "operationId": "GetEventCouponVariants",
        "summary": "List a coupon's variants",
        "description": "Returns a paginated list of the child coupon variants belonging to the given parent coupon on the event, supporting search and `orderBy` sorting; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "parentCouponId",
            "schema": {
              "type": "string"
            },
            "description": "The parentCoupon identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Coupon"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Coupons"
        ]
      }
    },
    "/events/{eventId}/emails/{type}": {
      "get": {
        "operationId": "GetEventEmail",
        "summary": "Get an event's email configuration",
        "description": "Returns the configuration (body, reply-to, enabled state, calendar file setting) for a given event email type such as confirmation, cancellation, reminder, approval, denial, or transfer; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventEmail"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails"
        ]
      },
      "put": {
        "operationId": "UpdateEventEmail",
        "summary": "Update an event email template",
        "description": "Updates the content of a specific automated email (by type, e.g. registration confirmation) sent for an event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventEmailUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventEmail"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails"
        ]
      }
    },
    "/events/{eventId}/emails/{type}/translations": {
      "get": {
        "operationId": "GetEventEmailTranslations",
        "summary": "List an event email's translations",
        "description": "Returns a paginated list of locale translations for a specific event email type, supporting page, pageSize, orderBy, and search filters; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventEmailTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails::Translations"
        ]
      }
    },
    "/events/{eventId}/emails/{type}/translations/{locale}": {
      "get": {
        "operationId": "GetEventEmailTranslation",
        "summary": "Get an event email's translation",
        "description": "Returns the localized translation (subject/body) for a specific event email type and locale, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventEmailTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventEmailTranslation",
        "summary": "Update an event email translation",
        "description": "Creates or updates the translated subject and body content for a specific event email type in a given locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventEmailTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventEmailTranslation",
        "summary": "Delete an event email translation",
        "description": "Removes the translated content for a specific event email type in a given locale, reverting that locale to the email's default content; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Emails::Translations"
        ]
      }
    },
    "/events/{eventId}/faqs": {
      "get": {
        "operationId": "GetEventFaqSections",
        "summary": "List an event's FAQ sections",
        "description": "Returns a paginated list of FAQ sections for the given event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FaqSection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "post": {
        "operationId": "CreateEventFaqSection",
        "summary": "Create an event FAQ section",
        "description": "Creates a new FAQ section (a grouping of questions and answers) for the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/FaqSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}": {
      "get": {
        "operationId": "GetEventFaqSection",
        "summary": "Get an event FAQ section",
        "description": "Returns the details of a single FAQ section belonging to an event, identified by section ID; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/FaqSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "put": {
        "operationId": "UpdateEventFaqSection",
        "summary": "Update an event FAQ section",
        "description": "Updates the properties (such as title) of an existing FAQ section on the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/FaqSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFaqSection",
        "summary": "Delete an event FAQ section",
        "description": "Permanently deletes an FAQ section, including its questions, from the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/questions": {
      "get": {
        "operationId": "GetEventFaqSectionQuestions",
        "summary": "List an event FAQ section's questions",
        "description": "Returns a paginated list of questions belonging to a specific FAQ section of an event, supporting page, pageSize, orderBy, and search filters; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Faq"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "post": {
        "operationId": "CreateEventFaqSectionQuestion",
        "summary": "Add a question to an event FAQ section",
        "description": "Creates a new question-and-answer entry within the specified FAQ section of an event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Faq"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/questions/reorder": {
      "put": {
        "operationId": "ReorderEventFaqSectionQuestions",
        "summary": "Reorder questions in an event FAQ section",
        "description": "Updates the display order of questions within an event FAQ section by supplying the full list of question IDs in the desired order; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Faq"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/questions/{questionId}": {
      "get": {
        "operationId": "GetEventFaqSectionQuestion",
        "summary": "Get an event FAQ question",
        "description": "Returns the details of a single question within an event FAQ section, identified by question ID; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Faq"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "put": {
        "operationId": "UpdateEventFaqSectionQuestion",
        "summary": "Update a question in an event FAQ section",
        "description": "Updates the question and/or answer text of an existing entry within the specified FAQ section of an event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Faq"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFaqSectionQuestion",
        "summary": "Delete a question from an event FAQ section",
        "description": "Permanently deletes a single question-and-answer entry from the specified FAQ section of an event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/questions/{questionId}/translations": {
      "get": {
        "operationId": "GetEventFaqSectionQuestionTranslations",
        "summary": "List an event FAQ question's translations",
        "description": "Returns a paginated list of locale translations for a specific FAQ question within an event FAQ section, supporting page, pageSize, orderBy, and search filters; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FaqTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventFaqSectionQuestionTranslation",
        "summary": "Get an event FAQ question's translation",
        "description": "Returns the localized translation for a specific FAQ question within an event FAQ section and locale, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/FaqTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventFaqSectionQuestionTranslation",
        "summary": "Update an FAQ question's translation",
        "description": "Updates the translated text for a specific locale on a question within an event FAQ section, creating the translation if it does not already exist; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFaqSectionQuestionTranslation",
        "summary": "Delete an event FAQ question translation",
        "description": "Removes the translated content for a specific FAQ question within an event's FAQ section in a given locale, reverting that locale to the question's default content; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/translations": {
      "get": {
        "operationId": "GetEventFaqSectionTranslations",
        "summary": "List an event FAQ section's translations",
        "description": "Returns a paginated list of locale translations for a specific event FAQ section, supporting page, pageSize, orderBy, and search filters; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/FaqSectionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      }
    },
    "/events/{eventId}/faqs/{sectionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventFaqSectionTranslation",
        "summary": "Get an event FAQ section's translation",
        "description": "Returns the localized translation for a specific event FAQ section and locale, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/FaqSectionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventFaqSectionTranslation",
        "summary": "Update an FAQ section's translation",
        "description": "Updates the translated text for a specific locale on an event FAQ section, creating the translation if it does not already exist; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFaqSectionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFaqSectionTranslation",
        "summary": "Delete an event FAQ section translation",
        "description": "Removes the translated title and content for a specific FAQ section of an event in a given locale, reverting that locale to the section's default content; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Faqs::Translations"
        ]
      }
    },
    "/events/{eventId}/followups": {
      "get": {
        "operationId": "GetEventFollowups",
        "summary": "List an event's registration followups",
        "description": "Returns a paginated list of registration followups configured for the given event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationFollowup"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "post": {
        "operationId": "CreateEventFollowup",
        "summary": "Create an event followup",
        "description": "Creates a new registration followup for an event, which is presented to registrants after they complete registration, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFollowupCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}": {
      "get": {
        "operationId": "GetEventFollowup",
        "summary": "Get an event registration followup",
        "description": "Returns the details of a single registration followup for the given event, identified by followup ID; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "put": {
        "operationId": "UpdateEventFollowup",
        "summary": "Update an event followup",
        "description": "Updates the fields of a registration followup on the given event, such as its name and settings, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFollowupUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFollowup",
        "summary": "Delete an event followup",
        "description": "Permanently deletes a registration followup from an event, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/addOns": {
      "get": {
        "operationId": "GetEventFollowupAddOns",
        "summary": "List a followup's linked add-ons",
        "description": "Returns a paginated list of event add-ons associated with the given registration followup, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOn"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/addOns/{addOnId}": {
      "post": {
        "operationId": "AddEventFollowupAddOn",
        "summary": "Add an add-on to an event followup",
        "description": "Associates an existing event add-on with a registration followup so it can be offered to registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "delete": {
        "operationId": "RemoveEventFollowupAddOn",
        "summary": "Remove an add-on from an event followup",
        "description": "Disassociates an event add-on from a registration followup so it is no longer offered to registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/passTypes": {
      "get": {
        "operationId": "GetEventFollowupPassTypes",
        "summary": "List a followup's linked pass types",
        "description": "Returns a paginated list of ticket pass types associated with the given registration followup, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventFollowupPassType",
        "summary": "Add a pass type to an event followup",
        "description": "Associates an existing event pass type with a registration followup so it can be offered to registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "delete": {
        "operationId": "RemoveEventFollowupPassType",
        "summary": "Remove a pass type from an event followup",
        "description": "Disassociates an event pass type from a registration followup so it is no longer offered to registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/questions": {
      "get": {
        "operationId": "GetEventFollowupQuestions",
        "summary": "List a followup's questions",
        "description": "Returns a paginated list of registration questions attached to the given event followup, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationFollowupQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/questions/reorder": {
      "put": {
        "operationId": "ReorderEventFollowupQuestions",
        "summary": "Reorder a followup's questions",
        "description": "Sets the display order of an event followup's questions to match the given `questionIds` array, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationFollowupQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/questions/{questionId}": {
      "post": {
        "operationId": "AddEventFollowupQuestion",
        "summary": "Add a question to an event followup",
        "description": "Associates an existing registration question with a followup so it is asked of registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "put": {
        "operationId": "UpdateEventFollowupQuestion",
        "summary": "Update a followup question's sort order",
        "description": "Updates the sort order of a single question within an event followup, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "delete": {
        "operationId": "RemoveEventFollowupQuestion",
        "summary": "Remove a question from an event followup",
        "description": "Disassociates a registration question from a followup so it is no longer asked of registrants after they register, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/tiers": {
      "get": {
        "operationId": "GetEventFollowupTiers",
        "summary": "List account tiers allowed/disallowed for a followup",
        "description": "Returns a paginated list of account tiers linked to the given registration followup, filtered by the allowed flag to show either permitted or restricted tiers; requires read permission on events and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventFollowupTier",
        "summary": "Set an account tier's access to an event followup",
        "description": "Adds an account tier to a registration followup's allow or deny list, controlling whether members of that tier see the followup, requires \"update\" permission on events and \"read\" permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      },
      "delete": {
        "operationId": "RemoveEventFollowupTier",
        "summary": "Remove an account tier from a followup",
        "description": "Disconnects an account tier from an event followup's allowed or disallowed tier list, based on the `allowed` flag, restricting or freeing which account tiers can access the followup; requires update permission on events and read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationFollowup"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/translations": {
      "get": {
        "operationId": "GetEventFollowupTranslations",
        "summary": "List a followup's translations",
        "description": "Returns a paginated list of locale translations for the given event registration followup, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationFollowupTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups::Translations"
        ]
      }
    },
    "/events/{eventId}/followups/{followupId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventFollowupTranslation",
        "summary": "Get a followup's translation for a locale",
        "description": "Returns the translated content for a single event registration followup in the given locale, or null if no translation exists; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/RegistrationFollowupTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventFollowupTranslation",
        "summary": "Update an event followup's translation",
        "description": "Updates the localized content (for the given locale) of a registration followup on an event, requires \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventFollowupTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventFollowupTranslation",
        "summary": "Delete a followup's translation",
        "description": "Permanently removes the translated content for a specific locale on an event registration followup message; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Followups::Translations"
        ]
      }
    },
    "/events/{eventId}/groupCouponReminder": {
      "get": {
        "operationId": "GetEventGroupCouponReminder",
        "summary": "Get an event's group coupon reminder schedule",
        "description": "Returns the per-event group coupon reminder configuration (enabled, start date, and frequency). A missing schedule is treated as off; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventGroupCouponReminder"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Groupcouponreminder"
        ]
      },
      "put": {
        "operationId": "UpdateEventGroupCouponReminder",
        "summary": "Update an event's group coupon reminder schedule",
        "description": "Partially updates the per-event group coupon reminder configuration. Pass null for startDate or frequency to clear the schedule; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventGroupCouponReminderUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventGroupCouponReminder"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Groupcouponreminder"
        ]
      }
    },
    "/events/{eventId}/index-passes": {
      "post": {
        "operationId": "IndexEventPasses",
        "summary": "Reindex an event's passes for search",
        "description": "Clears the cached search index for every pass belonging to the given event so it gets rebuilt, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/location": {
      "put": {
        "operationId": "SetEventLocation",
        "summary": "Set an event's location",
        "description": "Sets or updates the location details of an existing event, requiring the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventLocationInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      },
      "delete": {
        "operationId": "DeleteEventLocation",
        "summary": "Delete an event's location",
        "description": "Clears the location details of an existing event, requiring the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/media": {
      "get": {
        "operationId": "GetEventMediaItems",
        "summary": "List an event's media items",
        "description": "Returns a paginated list of media items (images, videos, or files) belonging to the given event, optionally filtered by media type, with search and ordering support; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string",
              "enum": [
                "image",
                "video",
                "file"
              ]
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventMediaItem"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      },
      "post": {
        "operationId": "CreateEventMediaItem",
        "summary": "Create an event media item",
        "description": "Creates a new media item (image, video, or file) in an event's media gallery, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventMediaItemCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{itemId}": {
      "get": {
        "operationId": "GetEventMediaItem",
        "summary": "Get a single event media item",
        "description": "Returns the details of a single media item (e.g. an image, video, or file) belonging to the given event; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "itemId",
            "schema": {
              "type": "string"
            },
            "description": "The item identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaId}/translations": {
      "get": {
        "operationId": "GetEventMediaItemTranslations",
        "summary": "List a media item's translations",
        "description": "Returns a paginated list of locale translations available for a specific event media item, with optional search and sort; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaId",
            "schema": {
              "type": "string"
            },
            "description": "The media identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventMediaItemTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media::Translations"
        ]
      }
    },
    "/events/{eventId}/media/{mediaId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventMediaItemTranslation",
        "summary": "Get a media item's translation for a locale",
        "description": "Returns the translated fields for a specific event media item in the given locale, or null if no translation exists for that locale; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaId",
            "schema": {
              "type": "string"
            },
            "description": "The media identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventMediaItemTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media::Translations"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}": {
      "put": {
        "operationId": "UpdateEventMediaItem",
        "summary": "Update an event media item",
        "description": "Updates the fields (such as name, type, or file references) of an existing media item in an event's media gallery, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventMediaItemUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      },
      "delete": {
        "operationId": "DeleteEventMediaItem",
        "summary": "Delete an event media item",
        "description": "Permanently removes a media item from an event's media gallery, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/activities": {
      "get": {
        "operationId": "GetEventMediaItemActivities",
        "summary": "List a media item's activity feed",
        "description": "Returns a paginated list of activity records posted on a specific event media item, optionally filtered by activity status and search term, requiring read permission on events, storage, and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/likes": {
      "get": {
        "operationId": "GetEventMediaItemLikes",
        "summary": "List a media item's likes",
        "description": "Returns a paginated list of accounts that liked a specific event media item, optionally filtered by search term and sort order, requiring read permission on events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventMediaItemLike"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/passTypes": {
      "get": {
        "operationId": "GetEventMediaItemPassTypes",
        "summary": "List pass types linked to a media item",
        "description": "Returns a paginated list of the event's pass types (ticket types) that are associated with a given media item, supporting search and ordering; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventMediaItemPassType",
        "summary": "Restrict an event media item to a pass type",
        "description": "Grants a specific pass type access to an event media item, restricting who can view it, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      },
      "delete": {
        "operationId": "RemoveEventMediaItemPassType",
        "summary": "Remove a pass type restriction from an event media item",
        "description": "Revokes a pass type's access to an event media item, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/tiers": {
      "get": {
        "operationId": "GetEventMediaItemTiers",
        "summary": "List tiers linked to a media item",
        "description": "Returns a paginated list of the event's account tiers (tiers/segments) that are associated with a given media item, supporting search and ordering; requires read access to events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventMediaItemTier",
        "summary": "Restrict an event media item to a tier",
        "description": "Grants a specific account tier (tier/segment) access to an event media item, restricting who can view it, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      },
      "delete": {
        "operationId": "RemoveEventMediaItemTier",
        "summary": "Remove a tier restriction from an event media item",
        "description": "Revokes an account tier's (tier/segment) access to an event media item, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media"
        ]
      }
    },
    "/events/{eventId}/media/{mediaItemId}/translations/{locale}": {
      "put": {
        "operationId": "UpdateEventMediaItemTranslation",
        "summary": "Create or update an event media item's translation",
        "description": "Creates or updates the translated content (such as title, alt text, or description) for a single locale on an event media item, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventMediaItemTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventMediaItemTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventMediaItemTranslation",
        "summary": "Delete an event media item's translation",
        "description": "Removes the translated content for a single locale from an event media item, and requires read and update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "mediaItemId",
            "schema": {
              "type": "string"
            },
            "description": "The mediaItem identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Media::Translations"
        ]
      }
    },
    "/events/{eventId}/on-site": {
      "get": {
        "operationId": "GetEventOnSite",
        "summary": "Get an event's on-site check-in settings",
        "description": "Returns the on-site check-in configuration for the given event, including its authentication code, or null if on-site check-in has not been set up yet; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventOnSite"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "post": {
        "operationId": "UpdateEventCheckinCode",
        "summary": "Regenerate an event's check-in code",
        "description": "Generates a new on-site check-in code for the given event, used for badge printing and attendee check-in kiosks; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSite"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/badge-colors": {
      "get": {
        "operationId": "GetEventBadgeColorRules",
        "summary": "List an event's badge color rules",
        "description": "Returns a paginated list of on-site badge color rules configured for the given event, with optional search and sort order; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventOnSiteBadgeColorRule"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "post": {
        "operationId": "CreateEventBadgeColorRule",
        "summary": "Create an event badge color rule",
        "description": "Creates a new on-site badge color rule for the given event. Omitting sortOrder appends the rule after the last existing one; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventBadgeColorRuleCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteBadgeColorRule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/badge-colors/{ruleId}": {
      "get": {
        "operationId": "GetEventBadgeColorRule",
        "summary": "Get an event badge color rule",
        "description": "Returns a single on-site badge color rule belonging to the given event; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "ruleId",
            "schema": {
              "type": "string"
            },
            "description": "The rule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteBadgeColorRule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "put": {
        "operationId": "UpdateEventBadgeColorRule",
        "summary": "Update an event badge color rule",
        "description": "Partially updates the specified on-site badge color rule. Changing type still nulls unused match branches on the backend, so send the new branch's ids when the type changes; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "ruleId",
            "schema": {
              "type": "string"
            },
            "description": "The rule identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventBadgeColorRuleUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteBadgeColorRule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "delete": {
        "operationId": "DeleteEventBadgeColorRule",
        "summary": "Delete an event badge color rule",
        "description": "Permanently deletes the specified on-site badge color rule from the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "ruleId",
            "schema": {
              "type": "string"
            },
            "description": "The rule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/labels": {
      "get": {
        "operationId": "GetEventOnSiteLabels",
        "summary": "List an event's on-site labels",
        "description": "Returns the event's full set of on-site labels ordered by sortOrder. Pagination params are accepted but ignored by the API; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventOnSiteLabel"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "post": {
        "operationId": "CreateEventOnSiteLabel",
        "summary": "Create an event on-site label",
        "description": "Creates a new on-site label for the given event. Omitting sortOrder appends the label after the last existing one. The API flags the new label as default when the event currently has none; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventOnSiteLabelCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteLabel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/labels/{labelId}": {
      "get": {
        "operationId": "GetEventOnSiteLabel",
        "summary": "Get an event on-site label",
        "description": "Returns a single on-site label belonging to the given event; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteLabel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "put": {
        "operationId": "UpdateEventOnSiteLabel",
        "summary": "Update an event on-site label",
        "description": "Partially updates the specified on-site label. The default flag is not writable here — use SetEventOnSiteLabelDefault; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventOnSiteLabelUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteLabel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "delete": {
        "operationId": "DeleteEventOnSiteLabel",
        "summary": "Delete an event on-site label",
        "description": "Permanently deletes the specified on-site label from the given event; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/labels/{labelId}/default": {
      "post": {
        "operationId": "SetEventOnSiteLabelDefault",
        "summary": "Set an event on-site label as the default",
        "description": "Marks the specified label as the event's default print design, clearing the flag from whichever label held it before. Unassigned pass types fall through to this label; requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSiteLabel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/labels/{labelId}/passTypes": {
      "get": {
        "operationId": "GetEventOnSiteLabelPassTypes",
        "summary": "List pass types assigned to an on-site label",
        "description": "Returns a paginated list of the event's pass types assigned to the given on-site label, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/on-site/labels/{labelId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventOnSiteLabelPassType",
        "summary": "Assign a pass type to an on-site label",
        "description": "Sets the given pass type's labelId to this label. Assignment is exclusive, so a pass type previously assigned to another label is silently moved; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      },
      "delete": {
        "operationId": "RemoveEventOnSiteLabelPassType",
        "summary": "Unassign a pass type from an on-site label",
        "description": "Clears the given pass type's labelId when it currently points at this label. Returns 400 if the pass type has since moved to another label; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "labelId",
            "schema": {
              "type": "string"
            },
            "description": "The label identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/packages": {
      "get": {
        "operationId": "GetEventPackages",
        "summary": "List an event's packages",
        "description": "Returns a paginated list of packages belonging to the given event, with search and ordering support; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPackage"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages"
        ]
      },
      "post": {
        "operationId": "CreateEventPackage",
        "summary": "Create an event package",
        "description": "Creates a new package for the given event, bundling passes and other offerings that attendees can purchase together; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPackageCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages"
        ]
      }
    },
    "/events/{eventId}/packages/{packageId}": {
      "get": {
        "operationId": "GetEventPackage",
        "summary": "Get a single event package",
        "description": "Returns the details of a specific package belonging to the given event, identified by its package ID; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages"
        ]
      },
      "put": {
        "operationId": "UpdateEventPackage",
        "summary": "Update an event package",
        "description": "Updates the details of an existing package for the given event, such as its name, description, or pricing; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPackageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPackage",
        "summary": "Delete an event package",
        "description": "Permanently removes the specified package, along with its association to passes, from the given event; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages"
        ]
      }
    },
    "/events/{eventId}/packages/{packageId}/passes": {
      "get": {
        "operationId": "GetEventPackagePasses",
        "summary": "List the passes included in an event package",
        "description": "Returns a paginated list of passes belonging to the given event package, with optional search; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPackagePass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Passes"
        ]
      },
      "post": {
        "operationId": "CreateEventPackagePass",
        "summary": "Create a pass for an event package",
        "description": "Creates a new pass tied to the given event package, defining a purchasable pass option within that package; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPackagePassCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackagePass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Passes"
        ]
      }
    },
    "/events/{eventId}/packages/{packageId}/passes/{passId}": {
      "get": {
        "operationId": "GetEventPackagePass",
        "summary": "Get a single pass in an event package",
        "description": "Returns the details of a specific pass belonging to the given event package, identified by its pass ID; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackagePass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Passes"
        ]
      },
      "put": {
        "operationId": "UpdateEventPackagePass",
        "summary": "Update a pass within an event package",
        "description": "Updates the details of an existing pass in the given event package, such as its name, pricing, or availability; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPackagePassUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackagePass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Passes"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPackagePass",
        "summary": "Delete a pass from an event package",
        "description": "Permanently removes the specified pass from the given event package; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Passes"
        ]
      }
    },
    "/events/{eventId}/packages/{packageId}/translations": {
      "get": {
        "operationId": "GetEventPackageTranslations",
        "summary": "List an event package's translations",
        "description": "Returns a paginated list of the locale translations available for the given event package, with search and ordering support; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPackageTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Translations"
        ]
      }
    },
    "/events/{eventId}/packages/{packageId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventPackageTranslation",
        "summary": "Get an event package's translation for a locale",
        "description": "Returns the localized text fields for the given event package in the specified locale; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackageTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventPackageTranslation",
        "summary": "Update an event package translation",
        "description": "Creates or updates the localized translation of an event package's content for the specified locale; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPackageTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPackageTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPackageTranslation",
        "summary": "Delete an event package translation",
        "description": "Removes the localized translation for the given event package in the specified locale; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Packages::Translations"
        ]
      }
    },
    "/events/{eventId}/pages": {
      "get": {
        "operationId": "GetEventPages",
        "summary": "List an event's pages",
        "description": "Returns a paginated list of custom pages belonging to the specified event, supporting search and sorting; requires the \"read\" permission on the \"events\" module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPage"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      },
      "post": {
        "operationId": "CreateEventPage",
        "summary": "Create an event page",
        "description": "Creates a new custom content page for an event, assigning it a slug and sort order, and requires create permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPageCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      }
    },
    "/events/{eventId}/pages/{pageId}": {
      "get": {
        "operationId": "GetEventPage",
        "summary": "Get an event page",
        "description": "Retrieves the details of a single page belonging to the specified event by its page ID; requires the \"read\" permission on the \"events\" module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      },
      "put": {
        "operationId": "UpdateEventPage",
        "summary": "Update an event page",
        "description": "Updates the content, title, or sort order of an existing custom event page, re-sequencing other pages when the sort order changes, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPage",
        "summary": "Delete an event page",
        "description": "Deletes a custom content page from an event and re-sequences the sort order of the event's remaining pages, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      }
    },
    "/events/{eventId}/pages/{pageId}/images": {
      "get": {
        "operationId": "GetEventPageImages",
        "summary": "List an event page's images",
        "description": "Returns a paginated list of images attached to the specified event page, supporting search and sorting; requires the \"read\" permission on both the \"events\" and \"storage\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Image"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      }
    },
    "/events/{eventId}/pages/{pageId}/images/{imageId}": {
      "post": {
        "operationId": "AddEventPageImage",
        "summary": "Add an image to an event page",
        "description": "Attaches an existing image to an event page's image gallery, requiring update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPageImage",
        "summary": "Remove an image from an event page",
        "description": "Detaches an image from an event page's image gallery without deleting the underlying image, requiring update permission on both events and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages"
        ]
      }
    },
    "/events/{eventId}/pages/{pageId}/translations": {
      "get": {
        "operationId": "GetEventPageTranslations",
        "summary": "List an event page's translations",
        "description": "Returns a paginated list of translations for the specified event page, supporting search and sorting; requires the \"read\" permission on the \"events\" module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPageTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages::Translations"
        ]
      }
    },
    "/events/{eventId}/pages/{pageId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventPageTranslation",
        "summary": "Get an event page's translation for a locale",
        "description": "Returns the localized content for the given event page in the specified locale, or null if no translation exists; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventPageTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventPageTranslation",
        "summary": "Create or update an event page translation",
        "description": "Upserts the localized content (e.g. title, subtitle, body) for an event page in the given locale, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPageTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPageTranslation",
        "summary": "Delete an event page translation",
        "description": "Deletes the translation for the given locale on an event page, requiring update permission on events; subsequent reads for that locale will fall back to the page's default content.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "pageId",
            "schema": {
              "type": "string"
            },
            "description": "The page identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Pages::Translations"
        ]
      }
    },
    "/events/{eventId}/passChanges": {
      "get": {
        "operationId": "GetEventPassChanges",
        "summary": "Poll an event's pass changes",
        "description": "Returns a cursor-paginated feed of the event's pass change log rows in ascending order; pass the last returned cursor on the next call to tail new changes. Optionally filter by subjectId or change type. Requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "subjectId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by subjectId",
            "required": false
          },
          {
            "in": "query",
            "name": "type",
            "schema": {
              "$ref": "#/components/schemas/PassChangeLogType"
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by passId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PassChange"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passchanges"
        ]
      }
    },
    "/events/{eventId}/passChanges/webhooks": {
      "get": {
        "operationId": "GetEventPassChangeWebhooks",
        "summary": "List an event's pass change log webhooks",
        "description": "Returns a paginated list of the webhooks connected to the given event's pass change log; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Webhook"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passchanges"
        ]
      }
    },
    "/events/{eventId}/passChanges/webhooks/{webhookId}": {
      "post": {
        "operationId": "AddEventPassChangeWebhook",
        "summary": "Connect a webhook to an event's pass change log",
        "description": "Connects the specified webhook so it receives the event's pass change log rows, and requires update permission on events; the webhook must be verified.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Webhook"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passchanges"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassChangeWebhook",
        "summary": "Disconnect a webhook from an event's pass change log",
        "description": "Disconnects the specified webhook from the given event's pass change log and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passchanges"
        ]
      }
    },
    "/events/{eventId}/passTypes": {
      "get": {
        "operationId": "GetEventPassTypes",
        "summary": "List an event's pass types",
        "description": "Returns a paginated list of pass types (tickets) for an event, ordered by sort order and price by default, with optional search and custom ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "post": {
        "operationId": "CreateEventPassType",
        "summary": "Create an event pass type",
        "description": "Creates a new pass type (ticket type) for the given event using the provided details, such as name, pricing, and availability; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}": {
      "get": {
        "operationId": "GetEventPassType",
        "summary": "Get a single event pass type",
        "description": "Retrieves the full details of a single pass type belonging to an event, identified by its ID; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassType",
        "summary": "Update an event pass type",
        "description": "Updates the details of an existing pass type on the given event, such as its name, pricing, or availability; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPassType",
        "summary": "Delete an event pass type",
        "description": "Permanently deletes a pass type from the given event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/addOns": {
      "get": {
        "operationId": "GetEventPassTypeAddOns",
        "summary": "List an event pass type's add-ons",
        "description": "Returns a paginated list of add-ons linked to an event pass type, with optional search and orderBy filters; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOn"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/addOns/{addOnId}": {
      "post": {
        "operationId": "AddEventPassTypeAddOn",
        "summary": "Add an add-on to a pass type",
        "description": "Associates an existing event add-on with a pass type so it can be purchased alongside that pass; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassTypeAddOn",
        "summary": "Remove an add-on from a pass type",
        "description": "Detaches an add-on from an event pass type so it is no longer offered alongside that pass type; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/coupons": {
      "get": {
        "operationId": "EventGetPassTypeCoupons",
        "summary": "List an event pass type's coupons",
        "description": "Returns a paginated list of coupons that apply to an event pass type, with optional search and orderBy filters; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Coupon"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/exchangeTargets": {
      "get": {
        "operationId": "GetEventPassTypeExchangeTargets",
        "summary": "Get Event Pass Type Exchange Targets",
        "description": "Get Event Pass Type Exchange Targets endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassTypeExchangeTarget"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      },
      "post": {
        "operationId": "AddEventPassTypeExchangeTarget",
        "summary": "Add Event Pass Type Exchange Target",
        "description": "Add Event Pass Type Exchange Target endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeExchangeTargetCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassTypeExchangeTarget"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/exchangeTargets/{exchangeTargetId}": {
      "put": {
        "operationId": "UpdateEventPassTypeExchangeTarget",
        "summary": "Update Event Pass Type Exchange Target",
        "description": "Update Event Pass Type Exchange Target endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "exchangeTargetId",
            "schema": {
              "type": "string"
            },
            "description": "The exchangeTarget identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeExchangeTargetUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassTypeExchangeTarget"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassTypeExchangeTarget",
        "summary": "Remove Event Pass Type Exchange Target",
        "description": "Remove Event Pass Type Exchange Target endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "exchangeTargetId",
            "schema": {
              "type": "string"
            },
            "description": "The exchangeTarget identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassTypeExchangeTarget"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/exchangeTargets/{exchangeTargetId}/exchanges": {
      "get": {
        "operationId": "GetEventPassTypeExchangeTargetExchanges",
        "summary": "Get Event Pass Type Exchange Target Exchanges",
        "description": "Get Event Pass Type Exchange Target Exchanges endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "exchangeTargetId",
            "schema": {
              "type": "string"
            },
            "description": "The exchangeTarget identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PassExchange"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/exchangeTargets/{exchangeTargetId}/payments": {
      "get": {
        "operationId": "GetEventPassTypeExchangeTargetPayments",
        "summary": "Get Event Pass Type Exchange Target Payments",
        "description": "Get Event Pass Type Exchange Target Payments endpoint",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "exchangeTargetId",
            "schema": {
              "type": "string"
            },
            "description": "The exchangeTarget identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Exchangetargets"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/groupPassTiers": {
      "get": {
        "operationId": "GetEventPassTypeGroupPassTiers",
        "summary": "List an event pass type's group pass tiers",
        "description": "Returns a paginated list of the registration tiers allowed to purchase an event pass type as part of a group pass, with optional search and orderBy filters; requires read access to the event and to tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/groupPassTiers/{tierId}": {
      "post": {
        "operationId": "AddEventPassTypeGroupPassTier",
        "summary": "Allow a tier to purchase a group pass type",
        "description": "Adds an account tier to the list of tiers allowed to purchase a pass type as a group pass, rejecting the request if the tier has already been added; requires update permission on events and read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassTypeGroupPassTier",
        "summary": "Remove an account tier from a pass type's group tiers",
        "description": "Removes an account tier from the list of tiers allowed to purchase an event pass type as a group pass; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/passes": {
      "get": {
        "operationId": "GetEventPassTypePasses",
        "summary": "List passes purchased for an event pass type",
        "description": "Returns a paginated list of purchased passes for a given event pass type, optionally filtered to only checked-in or not-checked-in passes, with search and orderBy support; requires read access to the event and to attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "checkedIn",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by checkedIn",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/payments": {
      "get": {
        "operationId": "GetEventPassTypePayments",
        "summary": "List payments for a pass type",
        "description": "Returns a paginated list of payments made for a specific pass type on an event, supporting search and ordering; requires read permission on events and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/priceSchedules": {
      "get": {
        "operationId": "GetEventPassTypePriceSchedules",
        "summary": "List a pass type's price schedules",
        "description": "Returns a paginated list of scheduled price changes for a specific event pass type, used to automate price increases or discounts on set dates, and requires the read events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassTypePriceSchedule"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Priceschedules"
        ]
      },
      "post": {
        "operationId": "CreateEventPassTypePriceSchedule",
        "summary": "Create a pass type price schedule",
        "description": "Creates a time-windowed price schedule for an event pass type, rejecting the request if its date range overlaps an existing schedule; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypePriceScheduleCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Priceschedules"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/priceSchedules/{scheduleId}": {
      "get": {
        "operationId": "GetEventPassTypePriceSchedule",
        "summary": "Get a single pass type price schedule",
        "description": "Returns a single scheduled price change for a specific event pass type, including its scheduled date and new price, and requires the read events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassTypePriceSchedule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Priceschedules"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassTypePriceSchedule",
        "summary": "Update a pass type price schedule",
        "description": "Updates the date range and price of an existing price schedule on an event pass type, rejecting the request if the new date range overlaps another schedule; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypePriceScheduleUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Priceschedules"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPassTypePriceSchedule",
        "summary": "Delete a pass type price schedule",
        "description": "Permanently removes a price schedule from an event pass type by its schedule ID; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Priceschedules"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/refundSchedules": {
      "get": {
        "operationId": "GetEventPassTypeRefundSchedules",
        "summary": "List a pass type's refund schedules",
        "description": "Returns a paginated list of refund schedules configured for an event pass type, ordered by start date by default, and supports search and orderBy filters; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassTypeRefundSchedule"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Refundschedules"
        ]
      },
      "post": {
        "operationId": "CreateEventPassTypeRefundSchedule",
        "summary": "Create a pass type refund schedule",
        "description": "Creates a time-windowed refund schedule for an event pass type, defining the refund terms available during that date range; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeRefundScheduleCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Refundschedules"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/refundSchedules/{scheduleId}": {
      "get": {
        "operationId": "GetEventPassTypeRefundSchedule",
        "summary": "Get a pass type refund schedule",
        "description": "Retrieves a single refund schedule entry for an event pass type by its ID, including the refund window and percentage; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassTypeRefundSchedule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Refundschedules"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassTypeRefundSchedule",
        "summary": "Update a pass type refund schedule",
        "description": "Updates the date range and refund terms of an existing refund schedule on an event pass type; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassTypeRefundScheduleUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Refundschedules"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPassTypeRefundSchedule",
        "summary": "Delete a pass type refund schedule",
        "description": "Permanently removes a refund schedule from an event pass type by its schedule ID; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "scheduleId",
            "schema": {
              "type": "string"
            },
            "description": "The schedule identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Refundschedules"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/tiers": {
      "get": {
        "operationId": "GetEventPassTypeTiers",
        "summary": "List account tiers allowed/disallowed for a pass type",
        "description": "Returns a paginated list of account tiers associated with a pass type, filtered by the `allowed` flag to either the tiers permitted to purchase the pass type or those explicitly disallowed, with optional search; requires read permission on events and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventPassTypeTier",
        "summary": "Add an account tier to a pass type's tier list",
        "description": "Adds an account tier to either the allowed or disallowed tier list of an event pass type depending on the `allowed` flag, restricting or permitting which account tiers may purchase that pass type; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassTypeTier",
        "summary": "Remove an account tier from a pass type's tier list",
        "description": "Removes an account tier from either the allowed or disallowed tier list of an event pass type depending on the `allowed` flag; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPassType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/translations": {
      "get": {
        "operationId": "GetEventPassTypeTranslations",
        "summary": "List a pass type's translations",
        "description": "Returns a paginated list of all locale translations that exist for an event pass type, with optional search and orderBy filters; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassTypeTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Translations"
        ]
      }
    },
    "/events/{eventId}/passTypes/{passTypeId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventPassTypeTranslation",
        "summary": "Get a pass type's translation for a locale",
        "description": "Retrieves the localized text (such as name and description) for an event pass type in the given locale, returning null if no translation exists for that locale; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventPassTypeTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassTypeTranslation",
        "summary": "Update an event pass type translation",
        "description": "Creates or updates the localized translation (e.g. name, description) for an event pass type in the given locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPassTypeTranslation",
        "summary": "Delete an event pass type translation",
        "description": "Deletes the localized translation for an event pass type in the given locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passtypes::Translations"
        ]
      }
    },
    "/events/{eventId}/passes": {
      "get": {
        "operationId": "GetEventPasses",
        "summary": "List an event's passes",
        "description": "Returns a paginated list of passes purchased for the given event, optionally filtered by check-in status via the checkedIn parameter and by purchase status via the status parameter; omitting status returns ready and needsInfo passes only. Requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "checkedIn",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by checkedIn",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/attributes/import": {
      "post": {
        "operationId": "ImportEventPassAttributes",
        "summary": "Bulk set custom attribute values across many passes",
        "description": "Creates or updates attribute values on up to 500 passes in one call, the write half of a CSV import. Each row's passId may be a pass id or the pass's alternateId, and each attributeId may be an attribute id or its name. Rows whose pass or attribute cannot be resolved are reported back as invalid and skipped rather than failing the batch. Requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassAttributesImportInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PassAttributeImportSummary"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Attributes"
        ]
      }
    },
    "/events/{eventId}/passes/pending": {
      "get": {
        "operationId": "GetEventPendingPasses",
        "summary": "List an event's pending passes",
        "description": "Returns a paginated list of passes for the given event that are still in pending status (payment or registration not yet completed), and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/ready": {
      "post": {
        "operationId": "UpdateEventPassesReady",
        "summary": "Mark all needs-info passes as ready",
        "description": "Bulk-updates every pass on the given event that currently has \"needs info\" status to \"ready\" status, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/responses/import": {
      "post": {
        "operationId": "ImportEventPassResponses",
        "summary": "Bulk set registration question answers across many passes",
        "description": "Creates or updates question answers on up to 500 passes in one call, the write half of a CSV import. Each row's passId may be a pass id or the pass's alternateId. Each questionId must be a question id — question names are not unique on an event, so there is no name fallback. Values are given in the human form the pass export produces: choice questions accept a choice's label or id, checkbox cells accept a comma-separated list (use semicolons if a label itself contains a comma), toggles accept yes/no, and dates accept yyyy-MM-dd. File questions cannot be imported. Rows whose pass, question or value cannot be resolved are reported back as invalid and skipped rather than failing the batch. Resolution is synchronous, so every rejected row comes back in the response; the write is queued and runs on the effects side, so the response reports what was accepted rather than what changed. Requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassResponsesImportInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PassResponseImportSummary"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}": {
      "get": {
        "operationId": "GetEventPass",
        "summary": "Get a single event pass",
        "description": "Returns a single event pass (registration purchase) by ID for the given event, including its attendee and ticket details, and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      },
      "put": {
        "operationId": "UpdateEventPass",
        "summary": "Update an event pass",
        "description": "Updates fields on an existing event pass/registration purchase, such as its ticket, coupon, or status, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPassUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      },
      "delete": {
        "operationId": "DeleteEventPass",
        "summary": "Delete an event pass",
        "description": "Permanently deletes an event pass/registration purchase, first removing any pending transfer linked to it, and requires the delete permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/accesses": {
      "get": {
        "operationId": "GetEventPassAccesses",
        "summary": "List a pass's session accesses",
        "description": "Returns a paginated list of session access records granted by the specified event pass, supporting search and sorting; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionAccess"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Accesses"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/addOns": {
      "get": {
        "operationId": "GetEventPassAddOns",
        "summary": "List an event pass's add-ons",
        "description": "Returns a paginated list of add-ons purchased with the specified event pass, supporting search and sorting; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOn"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Addons"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/addOns/{addOnId}": {
      "post": {
        "operationId": "AddEventPassAddOn",
        "summary": "Add an add-on to an attendee's pass",
        "description": "Attaches an event add-on purchase to the specified pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Addons"
        ]
      },
      "delete": {
        "operationId": "RemoveEventPassAddOn",
        "summary": "Remove an add-on from an attendee's pass",
        "description": "Detaches a previously added event add-on purchase from the specified pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Addons"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/addOns/{addOnId}/fulfill": {
      "post": {
        "operationId": "FulfillEventPassAddOn",
        "summary": "Fulfill an add-on on an attendee's pass",
        "description": "Marks the given pass add-on as fulfilled, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PassAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Addons"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/addOns/{addOnId}/undo": {
      "post": {
        "operationId": "UnfulfillEventPassAddOn",
        "summary": "Undo an add-on fulfillment",
        "description": "Reverses a previous fulfillment of the given pass add-on, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PassAddOn"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Addons"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/approve": {
      "put": {
        "operationId": "ApproveEventPass",
        "summary": "Approve a pending event pass",
        "description": "Moves a pending event pass to the ready status so the attendee's registration is confirmed, optionally sending the approval email, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendEmail": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/attendee/passes": {
      "get": {
        "operationId": "GetEventPassRegistrationPasses",
        "summary": "List every pass on the registration that owns a given pass",
        "description": "Resolves the registration that owns the given pass, then returns a paginated list of every pass on that registration — including the one identified by passId — optionally filtered by purchase status and search term; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/attributes": {
      "get": {
        "operationId": "GetEventPassAttributes",
        "summary": "List an event pass's attributes",
        "description": "Returns the list of custom attributes assigned to the specified event pass, supporting sorting; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PassAttribute"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Attributes"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassAttributes",
        "summary": "Set custom attribute values on a pass",
        "description": "Creates or updates one or more custom attribute values (attributeId/value pairs) on the specified event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PassAttributesUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PassAttribute"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Attributes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/attributes/{attributeId}": {
      "delete": {
        "operationId": "RemoveEventPassAttribute",
        "summary": "Remove a custom attribute from a pass",
        "description": "Deletes a single custom attribute value that had been set on the specified event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PassAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Attributes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/cancel": {
      "put": {
        "operationId": "CancelEventPass",
        "summary": "Cancel an event pass",
        "description": "Cancels an approved or active event pass/registration, requires the update permission on attendees, blocks the cancellation if the pass has active session accesses, and optionally sends a cancellation email to the attendee.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendEmail": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/checkin": {
      "post": {
        "operationId": "CheckinEventPass",
        "summary": "Check in an event pass",
        "description": "Marks the given event pass as checked in, resolving an alternate pass ID to its underlying record first, and requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/checkin/undo": {
      "post": {
        "operationId": "UndoCheckinEventPass",
        "summary": "Undo an event pass check-in",
        "description": "Reverses a previous check-in on the given event pass, marking it as not checked in, and requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/deny": {
      "put": {
        "operationId": "DenyEventPass",
        "summary": "Deny a pending event pass",
        "description": "Denies a pass/registration that is in pending status by canceling it, optionally issuing a refund for its payment and sending a denial email, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sendEmail": {
                    "type": "boolean"
                  },
                  "refund": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/matches": {
      "get": {
        "operationId": "GetEventPassMatches",
        "summary": "List an event pass's networking matches",
        "description": "Returns the networking or session matches associated with a specific event pass, optionally filtered by sessionId and roundId, and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sessionId",
            "required": false
          },
          {
            "in": "query",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by roundId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Match"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/payments": {
      "get": {
        "operationId": "GetEventPassPayments",
        "summary": "List an event pass's payments",
        "description": "Returns a paginated list of payments made for a specific event pass, and requires the read events, read attendees, and read payments permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/responses": {
      "get": {
        "operationId": "GetEventPassResponses",
        "summary": "List a pass's registration question responses",
        "description": "Returns a paginated list of registration question responses submitted for a specific event pass, supports search by response value, and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionResponse"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/responses/{questionId}": {
      "get": {
        "operationId": "GetEventPassResponse",
        "summary": "Get an event pass's response to a question",
        "description": "Retrieves a single registration question response recorded for the specified event pass, identified by question ID; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionResponse"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassResponse",
        "summary": "Update a single registration question response",
        "description": "Updates the response value for one registration question on the specified event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEventPassResponseInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionResponse"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/responses/{questionId}/changes": {
      "get": {
        "operationId": "GetEventPassResponseChanges",
        "summary": "List a pass response's edit history",
        "description": "Returns a paginated list of edits made to a single registration question response on an event pass, including the old and new values for each change, and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionResponseChange"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      }
    },
    "/events/{eventId}/passes/{passId}/transfers/logs": {
      "get": {
        "operationId": "GetEventPassTransferLogs",
        "summary": "List an event pass's transfer logs",
        "description": "Returns a paginated history of ownership transfers for a specific event pass, and requires the read events and read attendees permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TransferLog"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/payments": {
      "get": {
        "operationId": "GetEventPayments",
        "summary": "List an event's payments",
        "description": "Returns a paginated list of payments made for the given event, optionally filtered by a search term matching the paying account's email or name and sorted via orderBy; requires \"read\" permission on events and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/questions": {
      "get": {
        "operationId": "GetEventQuestions",
        "summary": "List an event's registration questions",
        "description": "Returns a paginated list of registration questions configured for an event, ordered by sort order by default and filterable by search against the question's name, label, or description; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "post": {
        "operationId": "CreateEventQuestion",
        "summary": "Create an event registration question",
        "description": "Creates a new registration question for an event, optionally attaching it to a section, a follow-up question, or a parent question's choice; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/dashboard": {
      "get": {
        "operationId": "GetEventDashboardQuestions",
        "summary": "List registration questions shown on the event dashboard",
        "description": "Returns the registration questions configured to appear on an event's dashboard, optionally filtered by search; requires read permission on events and dashboards.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseRegistrationQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/summary": {
      "get": {
        "operationId": "GetEventQuestionSummaries",
        "summary": "List response summaries for an event's questions",
        "description": "Returns a paginated list of summary statistics (such as response counts) for every registration question on an event, ordered by the question's sort order; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SummaryData"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}": {
      "get": {
        "operationId": "GetEventQuestion",
        "summary": "Get a single registration question",
        "description": "Returns the details of a single registration question belonging to an event; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventQuestion",
        "summary": "Update an event registration question",
        "description": "Updates the fields of a registration question on an event, such as its label, type, visibility, or linked search list, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteEventQuestion",
        "summary": "Delete an event registration question",
        "description": "Permanently deletes a registration question from an event and re-sequences the sort order of the event's remaining questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sectionId",
            "required": false
          },
          {
            "in": "query",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by followupId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices": {
      "get": {
        "operationId": "GetEventQuestionChoices",
        "summary": "List a registration question's choices",
        "description": "Returns a paginated list of selectable choices for a registration question on an event, ordered by sort order by default and filterable by a search term against the choice value; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionChoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "post": {
        "operationId": "CreateEventQuestionChoice",
        "summary": "Create a choice for an event question",
        "description": "Creates a new selectable choice (option) for a registration question, inserting it at the requested sort position among the question's existing choices (max 100 per question); requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionChoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/reorder": {
      "put": {
        "operationId": "ReorderEventQuestionChoices",
        "summary": "Reorder an event question's choices",
        "description": "Sets the sort order of a registration question's choices to match the given array of choice IDs; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "choicesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "choicesIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionChoice"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}": {
      "get": {
        "operationId": "GetEventQuestionChoice",
        "summary": "Get a single registration question choice",
        "description": "Returns the details of a single answer choice belonging to a registration question on an event; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventQuestionChoice",
        "summary": "Update a registration question choice",
        "description": "Updates the fields of a single answer choice belonging to an event registration question, such as its label or value, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionChoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteEventQuestionChoice",
        "summary": "Delete a choice from an event question",
        "description": "Permanently deletes a choice from a registration question and re-sequences the sort order of the question's remaining choices; blocked if the question is a checkbox type with existing responses, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}/subQuestions": {
      "get": {
        "operationId": "GetEventQuestionChoiceSubQuestions",
        "summary": "List a question choice's sub-questions",
        "description": "Returns a paginated list of follow-up sub-questions attached to a specific choice of a registration question on an event, filterable by search against the sub-question's name or label; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionChoiceSubQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}/subQuestions/reorder": {
      "put": {
        "operationId": "ReorderEventQuestionChoiceSubQuestions",
        "summary": "Reorder a question choice's sub-questions",
        "description": "Sets the display order of the sub-questions attached to a registration question choice by supplying the full, reordered list of sub-question IDs; requires update permission on events and fails if the provided list does not exactly match the choice's existing sub-questions.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionChoiceSubQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}/subQuestions/{subQuestionId}": {
      "post": {
        "operationId": "AddEventQuestionChoiceSubQuestion",
        "summary": "Add a sub-question to a question choice",
        "description": "Links an existing event question as a follow-up sub-question shown when the given choice is selected, appending it to the end of that choice's sub-question order; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventQuestionChoiceSubQuestion",
        "summary": "Update a question choice's sub-question",
        "description": "Updates a sub-question attached to a registration question choice, most notably its sort order relative to the choice's other sub-questions, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventQuestionChoiceSubQuestion",
        "summary": "Remove a sub-question from a question choice",
        "description": "Unlinks a sub-question previously attached to a question choice and re-sequences the sort order of that choice's remaining sub-questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}/translations": {
      "get": {
        "operationId": "GetEventQuestionChoiceTranslations",
        "summary": "List a question choice's translations",
        "description": "Returns a paginated list of locale translations for a specific registration question choice on an event, with optional search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionChoiceTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/choices/{choiceId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventQuestionChoiceTranslation",
        "summary": "Get a question choice's translation",
        "description": "Returns the translation for a specific locale of a registration question choice on an event, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/RegistrationQuestionChoiceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventQuestionChoiceTranslation",
        "summary": "Update a question choice translation",
        "description": "Creates or updates the translation for a specific locale on an answer choice of an event registration question; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionChoiceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventQuestionChoiceTranslation",
        "summary": "Delete a question choice translation",
        "description": "Removes the translation for a specific locale from an answer choice of an event registration question; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/responses": {
      "get": {
        "operationId": "GetEventQuestionResponses",
        "summary": "List responses to an event registration question",
        "description": "Returns a paginated list of attendee-submitted responses to a specific registration question on an event, limited to purchases in the needsInfo or ready status and filterable by search against the responding attendee's name or email; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionResponse"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/searchlist": {
      "put": {
        "operationId": "AttachEventQuestionSearchList",
        "summary": "Attach a search list to a question",
        "description": "Links an organization search list to a registration question so its values populate the question's selectable options, after verifying the search list exists and belongs to the organization; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachSearchListInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      },
      "delete": {
        "operationId": "DetachEventQuestionSearchList",
        "summary": "Detach a search list from a question",
        "description": "Removes the currently attached organization search list from a registration question, clearing its search-list-backed options; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/summary": {
      "get": {
        "operationId": "GetEventQuestionSummary",
        "summary": "Get a registration question's response summary",
        "description": "Returns summary statistics for a single registration question on an event, such as the count of non-empty responses from purchases in the needsInfo or ready status; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SummaryData"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/translations": {
      "get": {
        "operationId": "GetEventQuestionTranslations",
        "summary": "List a registration question's translations",
        "description": "Returns a paginated list of locale translations for a specific registration question on an event, with optional search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationQuestionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventQuestionTranslation",
        "summary": "Get a registration question's translation",
        "description": "Returns the translation for a specific locale of a registration question on an event, or null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/RegistrationQuestionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventQuestionTranslation",
        "summary": "Update an event question's translation",
        "description": "Updates the translated text for a registration question in the given locale, creating the translation if it does not yet exist; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventQuestionTranslation",
        "summary": "Delete an event question translation",
        "description": "Removes the translation for a specific locale from an event registration question; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/registrations": {
      "get": {
        "operationId": "GetEventRegistrations",
        "summary": "List an event's registrations",
        "description": "Returns a paginated list of registrations for the given event, optionally filtered by purchase status and search term; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRegistration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      },
      "post": {
        "operationId": "CreateEventRegistration",
        "summary": "Create an event registration",
        "description": "Creates a new registration on an event for an existing account; requires read and create permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/abandoned": {
      "get": {
        "operationId": "GetEventAbandonedRegistrations",
        "summary": "List an event's abandoned registrations",
        "description": "Returns a paginated list of registrations for the given event with an idle draft cart (at least one draft pass, none of those drafts touched in four hours), including mixed/complete registrations; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRegistration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/sync": {
      "post": {
        "operationId": "SyncEventRegistrations",
        "summary": "Sync an event's registrations to accounts",
        "description": "Enqueues every account registered for the given event for a background account-data sync job and returns the number of accounts enqueued; requires the \"read\" permission on attendees and \"update\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}": {
      "get": {
        "operationId": "GetEventRegistration",
        "summary": "Get an event registration",
        "description": "Returns the details for a single registration on the given event, identified by its registration ID, including its pass/purchase history; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      },
      "put": {
        "operationId": "UpdateEventRegistration",
        "summary": "Update an event registration",
        "description": "Updates the registration record identified by its registration ID on the given event with the supplied fields, such as coupon or custom registration data; requires the \"update\" permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventRegistration",
        "summary": "Delete an event registration",
        "description": "Permanently deletes the registration record identified by its registration ID on the given event, removing it from the registration list; requires the \"del\" permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/abandonedEmail": {
      "post": {
        "operationId": "SendRegistrationAbandonedEmail",
        "summary": "Send abandoned registration email",
        "description": "Enqueues the abandoned-registration email for the registration identified by its registration ID on the given event, including after the sweeper has already claimed it; requires the \"update\" permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/coupons": {
      "get": {
        "operationId": "GetEventRegistrationCoupons",
        "summary": "List an event registration's coupons",
        "description": "Returns a paginated list of coupons associated with a specific registration on an event, identified by its registration ID, optionally filtered by paid/prePaid status, search term, and sort order; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "prePaid",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by prePaid",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Coupon"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/packages": {
      "get": {
        "operationId": "GetEventRegistrationPackages",
        "summary": "List a registration's event packages",
        "description": "Returns a paginated list of packages purchased under the given registration for the specified event, optionally filtered by purchase status, with search and ordering support; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationPackage"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Packages"
        ]
      },
      "post": {
        "operationId": "CreateEventRegistrationPackage",
        "summary": "Create a package for an event registration",
        "description": "Creates a new attendee package (e.g. a bundled add-on/room package purchase) for the given registration at an event, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationPackageCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Packages"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/packages/{packageId}": {
      "get": {
        "operationId": "GetEventRegistrationPackage",
        "summary": "Get a registration's event package",
        "description": "Returns a single package purchased under the given registration for the specified event, identified by packageId; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Packages"
        ]
      },
      "put": {
        "operationId": "UpdateEventRegistrationPackage",
        "summary": "Update an event registration's package",
        "description": "Updates the details of an existing attendee package purchase for the given registration at an event, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRegistrationPackageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationPackage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Packages"
        ]
      },
      "delete": {
        "operationId": "DeleteEventRegistrationPackage",
        "summary": "Delete an event registration's package",
        "description": "Permanently deletes a specific attendee package purchase belonging to the given registration at an event, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "packageId",
            "schema": {
              "type": "string"
            },
            "description": "The package identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Packages"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes": {
      "get": {
        "operationId": "GetEventRegistrationPasses",
        "summary": "List an event registration's pass purchases",
        "description": "Returns a paginated list of pass purchases belonging to a specific registration on an event, identified by its registration ID, optionally filtered by purchase status, search term, and sort order; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      },
      "post": {
        "operationId": "CreateEventPass",
        "summary": "Create a pass for an event attendee",
        "description": "Creates a new pass/registration purchase for the specified attendee on the given event using the provided pass details, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventPassCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventPass"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes/{passId}/followups": {
      "get": {
        "operationId": "GetEventPassQuestionFollowups",
        "summary": "List an attendee pass's followup questions",
        "description": "Returns the followup question forms and their questions/choices applicable to the specified attendee's event pass, based on the event's configured followups; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationFollowup"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Followups"
        ]
      },
      "put": {
        "operationId": "UpdateEventPassFollowupResponses",
        "summary": "Update all followup question responses for a pass",
        "description": "Bulk-updates the responses to an attendee's pending followup questions for the given event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questions": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Question"
                    }
                  }
                },
                "required": [
                  "questions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Followups"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes/{passId}/followups/{followupId}": {
      "put": {
        "operationId": "UpdateEventPassSingleFollowupResponses",
        "summary": "Update responses for one followup on a pass",
        "description": "Updates an attendee's question responses for a single specified followup on the given event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "followupId",
            "schema": {
              "type": "string"
            },
            "description": "The followup identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questions": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/Question"
                    }
                  }
                },
                "required": [
                  "questions"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Followups"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes/{passId}/responses": {
      "put": {
        "operationId": "UpdateEventPassResponses",
        "summary": "Update all registration question responses for a pass",
        "description": "Bulk-updates an attendee's registration question responses for the given event pass, requires read permission on events and read/update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEventPassResponsesInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Responses"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes/{passId}/sections": {
      "get": {
        "operationId": "GetEventPassQuestionSections",
        "summary": "List an attendee pass's registration sections",
        "description": "Returns the registration question sections and their questions/choices applicable to the specified attendee's event pass, based on the event's configured registration sections; requires the \"read\" permission on both the \"events\" and \"attendees\" modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationSection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Followups"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/passes/{passId}/transfers": {
      "post": {
        "operationId": "TransferEventPass",
        "summary": "Transfer an event pass to another account",
        "description": "Transfers ownership of an attendee's event pass to another specified account, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "accountId": {
                    "type": "string"
                  }
                },
                "required": [
                  "accountId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/payments": {
      "get": {
        "operationId": "GetEventRegistrationPayments",
        "summary": "List an event registration's payments",
        "description": "Returns a paginated list of payments made against a specific event registration, identified by its registration ID, with optional search and sort order; requires \"read\" permission on events, attendees, and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/resendEmail": {
      "post": {
        "operationId": "ResendRegistrationConfirmationEmail",
        "summary": "Resend registration confirmation email",
        "description": "Re-triggers the registration confirmation email for the registration identified by its registration ID on the given event by replaying the \"registration.submitted\" side effect; requires the \"update\" permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/reservations": {
      "get": {
        "operationId": "GetEventRegistrationReservations",
        "summary": "List a registration's room reservations",
        "description": "Returns a paginated list of room-type reservations belonging to the given registration for the specified event, with search and ordering support; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRoomTypeReservation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      }
    },
    "/events/{eventId}/registrations/{registrationId}/transfers/logs": {
      "get": {
        "operationId": "GetEventRegistrationTransfersLogs",
        "summary": "List a registration's pass transfer logs",
        "description": "Returns a paginated log of pass transfer activity (e.g. ownership changes) for a specific registration on an event, identified by its registration ID, with optional search and sort order; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TransferLog"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations"
        ]
      }
    },
    "/events/{eventId}/reservations": {
      "get": {
        "operationId": "GetEventReservations",
        "summary": "List an event's room reservations",
        "description": "Returns a paginated list of room-type reservations for the specified event, with search and ordering support; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRoomTypeReservation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      },
      "post": {
        "operationId": "CreateEventReservation",
        "summary": "Create a room type reservation for an event",
        "description": "Creates a new room reservation for an event, linking it to an event room type and room and optionally connecting existing passes to it, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeReservationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomTypeReservation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      }
    },
    "/events/{eventId}/reservations/{reservationId}": {
      "get": {
        "operationId": "GetEventReservation",
        "summary": "Get an event room reservation",
        "description": "Returns a single room-type reservation for the specified event, identified by reservationId; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomTypeReservation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      },
      "put": {
        "operationId": "UpdateEventReservation",
        "summary": "Update an event room reservation",
        "description": "Updates an existing room type reservation for an event, such as its assigned room or room type, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeReservationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomTypeReservation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventReservation",
        "summary": "Delete an event room reservation",
        "description": "Permanently deletes a room type reservation from an event, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      }
    },
    "/events/{eventId}/reservations/{reservationId}/passes": {
      "get": {
        "operationId": "GetEventReservationPasses",
        "summary": "List passes attached to a room reservation",
        "description": "Returns a paginated list of attendee passes associated with the given room-type reservation for the specified event, with search and ordering support; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      }
    },
    "/events/{eventId}/reservations/{reservationId}/passes/{passId}": {
      "post": {
        "operationId": "AddEventReservationPass",
        "summary": "Attach a pass to a room reservation",
        "description": "Connects an existing event pass (purchase) to a room type reservation for an event, allowing that pass holder to occupy the room; the pass must currently be in a needsInfo, ready, or pending status, and this requires read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomTypeReservation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      },
      "delete": {
        "operationId": "RemoveEventReservationPass",
        "summary": "Detach a pass from a room reservation",
        "description": "Disconnects an event pass (purchase) from a room type reservation for an event, freeing up that spot in the room, requiring read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reservationId",
            "schema": {
              "type": "string"
            },
            "description": "The reservation identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by registrationId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomTypeReservation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Registrations::Reservations"
        ]
      }
    },
    "/events/{eventId}/roomTypes": {
      "get": {
        "operationId": "GetEventRoomTypes",
        "summary": "List an event's room types",
        "description": "Returns a paginated list of room types configured for the given event, searchable by name or description; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRoomType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      },
      "post": {
        "operationId": "CreateEventRoomType",
        "summary": "Create an event room type",
        "description": "Creates a new room type (a bookable room/reservation category) for the given event, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}": {
      "get": {
        "operationId": "GetEventRoomType",
        "summary": "Get an event room type",
        "description": "Retrieves a single room type for the given event by ID, including its configured details; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      },
      "put": {
        "operationId": "UpdateEventRoomType",
        "summary": "Update an event room type",
        "description": "Updates the details of an existing room type for the given event, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      },
      "delete": {
        "operationId": "DeleteEventRoomType",
        "summary": "Delete an event room type",
        "description": "Permanently deletes a room type from the given event, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/addOns/{addOnId}": {
      "put": {
        "operationId": "UpdateEventRoomTypeAddOnDetails",
        "summary": "Update a room type's add-on details",
        "description": "Creates or updates the pricing/availability details linking a specific add-on to a room type, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeAddOnDetailsUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/passTypes/{passTypeId}": {
      "put": {
        "operationId": "UpdateEventRoomTypePassTypeDetails",
        "summary": "Update a room type's pass type details",
        "description": "Creates or updates the pricing/availability details linking a specific pass type to a room type, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypePassTypeDetailsUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/passes": {
      "get": {
        "operationId": "GetEventRoomTypePasses",
        "summary": "List purchases for an event room type",
        "description": "Returns a paginated list of pass purchases tied to reservations for the specified event room type, supporting search by attendee name, email, purchase ID, or response value; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/reservations": {
      "get": {
        "operationId": "GetEventRoomTypeReservations",
        "summary": "List reservations for an event room type",
        "description": "Returns a paginated list of room reservations made for the specified event room type, searchable by pass name or attendee name/email; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRoomTypeReservation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/rooms": {
      "get": {
        "operationId": "GetRoomTypeRooms",
        "summary": "List rooms belonging to a room type",
        "description": "Returns a paginated list of rooms assigned to a specific room type on an event, ordered by room name by default and filterable by search against the room name; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Room"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      },
      "post": {
        "operationId": "AddRoomToRoomType",
        "summary": "Add a room to a room type",
        "description": "Connects an existing event room to a room type, verifying the room belongs to the same event, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roomId": {
                    "type": "string"
                  }
                },
                "required": [
                  "roomId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/rooms/{roomId}": {
      "delete": {
        "operationId": "RemoveRoomFromRoomType",
        "summary": "Remove a room from a room type",
        "description": "Disconnects a room from a room type without deleting the room itself, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomId",
            "schema": {
              "type": "string"
            },
            "description": "The room identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/tiers": {
      "get": {
        "operationId": "GetEventRoomTypeTiers",
        "summary": "List account tiers allowed or disallowed for a room type",
        "description": "Returns a paginated list of account tiers that are either allowed or disallowed to book the specified event room type, selected via the required allowed flag and searchable by name or description; requires read permission on events and tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventRoomTypeTier",
        "summary": "Add an account tier to a room type",
        "description": "Adds an account tier to a room type's allowed or disallowed tier list depending on the `allowed` flag, controlling which member tiers may book the room type, and requires the update permission on events plus read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      },
      "delete": {
        "operationId": "RemoveEventRoomTypeTier",
        "summary": "Remove an account tier from a room type",
        "description": "Removes an account tier from a room type's allowed or disallowed tier list depending on the `allowed` flag, requiring the update permission on events plus read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventRoomType"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/translations": {
      "get": {
        "operationId": "GetEventRoomTypeTranslations",
        "summary": "List an event room type's translations",
        "description": "Returns a paginated list of locale translations for the specified event room type, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventRoomTypeTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes::Translations"
        ]
      }
    },
    "/events/{eventId}/roomTypes/{roomTypeId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventRoomTypeTranslation",
        "summary": "Get a room type's translation for a locale",
        "description": "Returns the translated content for an event room type in a specific non-English locale, or null if no translation exists for that locale; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventRoomTypeTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventRoomTypeTranslation",
        "summary": "Update a room type translation",
        "description": "Creates or updates the localized name and description for an event room type in the given locale, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventRoomTypeTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventRoomTypeTranslation",
        "summary": "Delete a room type translation",
        "description": "Removes the translation for a specific locale from an event room type, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The roomType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Roomtypes::Translations"
        ]
      }
    },
    "/events/{eventId}/rooms": {
      "get": {
        "operationId": "GetRooms",
        "summary": "List an event's rooms",
        "description": "Returns a paginated list of rooms belonging to an event, ordered by room name by default and filterable by search against the room name; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Room"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      },
      "post": {
        "operationId": "CreateRoom",
        "summary": "Create an event room",
        "description": "Creates a new room for an event, such as a physical or virtual space used for sessions, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Room"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      }
    },
    "/events/{eventId}/rooms/import": {
      "post": {
        "operationId": "ImportRooms",
        "summary": "Bulk import event rooms by name",
        "description": "Bulk-creates event rooms from a list of room names, skipping any names that already exist for the event, and optionally assigns the newly created rooms to a room type; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "roomNames": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  },
                  "roomTypeId": {
                    "type": "string"
                  }
                },
                "required": [
                  "roomNames"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Room"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      }
    },
    "/events/{eventId}/rooms/{roomId}": {
      "get": {
        "operationId": "GetRoom",
        "summary": "Get a single event room",
        "description": "Returns the details of a single room belonging to an event, verifying the room belongs to the given event and organization before returning it; requires read access to the event.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomId",
            "schema": {
              "type": "string"
            },
            "description": "The room identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Room"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      },
      "put": {
        "operationId": "UpdateRoom",
        "summary": "Update an event room",
        "description": "Updates the fields of an existing event room, such as its name or capacity, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomId",
            "schema": {
              "type": "string"
            },
            "description": "The room identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoomUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Room"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      },
      "delete": {
        "operationId": "DeleteRoom",
        "summary": "Delete an event room",
        "description": "Permanently deletes a room from an event and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roomId",
            "schema": {
              "type": "string"
            },
            "description": "The room identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Rooms"
        ]
      }
    },
    "/events/{eventId}/rounds": {
      "get": {
        "operationId": "GetEventRounds",
        "summary": "List an event's networking rounds",
        "description": "Returns all matchmaking/networking rounds configured for the given event; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Round"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      },
      "post": {
        "operationId": "CreateEventRound",
        "summary": "Create a matchmaking round for an event",
        "description": "Creates a new round for the given event, automatically assigning it the next sequential round number, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Round"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}": {
      "delete": {
        "operationId": "DeleteEventRound",
        "summary": "Delete a matchmaking round",
        "description": "Permanently deletes a round, along with its matches, from an event, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/matches": {
      "get": {
        "operationId": "GetEventRoundMatches",
        "summary": "List a round's networking matches",
        "description": "Returns a paginated list of matches (attendee pairings/groupings) generated for a networking round, with optional search and sort; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Match"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      },
      "post": {
        "operationId": "CreateEventMatch",
        "summary": "Create a match within a round",
        "description": "Creates a new match in the given event round, automatically assigning it the next sequential match number, requiring create permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/matches/{matchId}": {
      "get": {
        "operationId": "GetEventRoundMatch",
        "summary": "Get a matchmaking round match",
        "description": "Returns the details of a single match within a matchmaking round for the given event, identified by round ID and match ID; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      },
      "put": {
        "operationId": "UpdateEventMatch",
        "summary": "Update an event round match",
        "description": "Updates the fields (such as room or session assignment) of a single match belonging to a matchmaking round for an event, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MatchUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      },
      "delete": {
        "operationId": "DeleteEventMatch",
        "summary": "Delete a match from a round",
        "description": "Permanently deletes a single match from an event round, requiring update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/matches/{matchId}/passes": {
      "get": {
        "operationId": "GetEventRoundMatchPasses",
        "summary": "List passes assigned to a match",
        "description": "Returns a paginated list of event passes (attendee purchases) assigned to a specific match within a networking round, with optional search; requires read access to events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/matches/{matchId}/passes/{passId}": {
      "post": {
        "operationId": "AddEventMatchPass",
        "summary": "Assign a pass to a match",
        "description": "Connects an attendee's pass to a match within an event round, disconnecting it from any other match in that round first, requiring update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      },
      "delete": {
        "operationId": "RemoveEventMatchPass",
        "summary": "Remove a pass from a match",
        "description": "Disconnects an attendee's pass from a match within an event round, requiring update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/passes": {
      "get": {
        "operationId": "GetEventRoundPasses",
        "summary": "List a round's assigned or unassigned passes",
        "description": "Returns a paginated list of event passes eligible for a networking round, filterable by the `assigned` flag to show passes already matched into the round versus those still unmatched, with optional search; requires read access to events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "assigned",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by assigned",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/questions": {
      "get": {
        "operationId": "GetEventRoundQuestions",
        "summary": "List an event's registration questions for a round",
        "description": "Returns a paginated list of the event's registration questions annotated with their matching-round status (e.g. included, weighted, or excluded) for the given round, with optional search; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RoundEventQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/questions/summary": {
      "get": {
        "operationId": "GetEventRoundQuestionsSummary",
        "summary": "Summarize a round's question matching types",
        "description": "Returns a map of registration question ID to its matchmaking type (e.g. how it is weighted or excluded) for the given networking round; requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "$ref": "#/components/schemas/MatchQuestionType"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/questions/{questionId}": {
      "put": {
        "operationId": "UpdateEventRoundQuestion",
        "summary": "Set a registration question's matchmaking type for a round",
        "description": "Sets how a specific event registration question is used by matchmaking for a given round (include, split, or exclude), creating the round-question link if it doesn't already exist, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoundEventQuestionUpdataInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RoundEventQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/rounds/{roundId}/start": {
      "post": {
        "operationId": "StartEventRoundMatchmaking",
        "summary": "Start matchmaking for an event round",
        "description": "Kicks off automated matchmaking for the given round of an event, setting the target size for each generated match and queuing the matchmaking job for asynchronous processing; requires the round to have at least one question configured for matching and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "targetMatchSize": {
                    "type": "number"
                  }
                },
                "required": [
                  "targetMatchSize"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Matches"
        ]
      }
    },
    "/events/{eventId}/sections": {
      "get": {
        "operationId": "GetEventSections",
        "summary": "List an event's registration sections",
        "description": "Returns a paginated list of the registration sections defined for an event, supporting search and ordering; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationSection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "post": {
        "operationId": "CreateEventSection",
        "summary": "Create an event registration section",
        "description": "Creates a new registration section for an event, inserting it at the requested sort position among the event's existing sections; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSectionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}": {
      "get": {
        "operationId": "GetEventSection",
        "summary": "Get a registration section",
        "description": "Retrieves a single registration section for the given event by ID, including its configured questions, pass types, and add-ons; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateEventSection",
        "summary": "Update an event registration section",
        "description": "Updates the fields of an event's registration section, such as name, description, or sort order, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSectionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSection",
        "summary": "Delete an event registration section",
        "description": "Permanently removes a registration section from an event and re-sequences the sort order of the event's remaining sections; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/addOns": {
      "get": {
        "operationId": "GetEventSectionAddOns",
        "summary": "List add-ons linked to a registration section",
        "description": "Returns a paginated list of event add-ons associated with the specified registration section, searchable by name; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventAddOn"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/addOns/{addOnId}": {
      "post": {
        "operationId": "AddEventSectionAddOn",
        "summary": "Add an add-on to an event section",
        "description": "Connects an existing event add-on to a registration section, making it available for purchase within that section; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSectionAddOn",
        "summary": "Remove an add-on from an event section",
        "description": "Disconnects an event add-on from a registration section so it is no longer available for purchase within that section; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "addOnId",
            "schema": {
              "type": "string"
            },
            "description": "The addOn identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/passTypes": {
      "get": {
        "operationId": "GetEventSectionPassTypes",
        "summary": "List pass types linked to a section",
        "description": "Returns a paginated list of the pass types associated with a registration section on an event, supporting search and ordering; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventSectionPassType",
        "summary": "Add a pass type to an event section",
        "description": "Connects an existing event pass type (ticket) to a registration section, making that pass type available within the section; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSectionPassType",
        "summary": "Remove a pass type from an event section",
        "description": "Disconnects an event pass type (ticket) from a registration section so it is no longer offered within that section; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/questions": {
      "get": {
        "operationId": "GetEventSectionQuestions",
        "summary": "List questions in an event section",
        "description": "Returns a paginated list of the registration questions belonging to a section of an event, supporting search and ordering; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationSectionQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/questions/reorder": {
      "put": {
        "operationId": "ReorderEventSectionQuestions",
        "summary": "Reorder a section's questions",
        "description": "Sets the sort order of a registration section's questions to match the order of the given questionIds array, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationSectionQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/questions/{questionId}": {
      "post": {
        "operationId": "AddEventSectionQuestion",
        "summary": "Add a question to an event section",
        "description": "Attaches an existing registration question to a section, appending it to the end of the section's question order; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateEventSectionQuestion",
        "summary": "Update a section question's sort order",
        "description": "Sets the sort order of a single question within an event registration section, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSectionQuestion",
        "summary": "Remove a question from an event section",
        "description": "Detaches a registration question from a section and re-sequences the sort order of the section's remaining questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/tiers": {
      "get": {
        "operationId": "GetEventSectionTiers",
        "summary": "List account tiers linked to a section",
        "description": "Returns a paginated list of the account tiers associated with a registration section on an event, filterable by the `allowed` flag and supporting search and ordering; requires read access to the events and tiers modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventSectionTier",
        "summary": "Add an account tier to an event section",
        "description": "Adds an account tier to a registration section's allowed or disallowed tier list depending on the allowed flag, controlling which account tiers can access the section; requires update permission on events and read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "allowed": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "allowed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSectionTier",
        "summary": "Remove an account tier restriction from a section",
        "description": "Disconnects an account tier from a registration section's allowed or disallowed tier list, based on the `allowed` flag, requiring read/update permission on events and read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "allowed",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by allowed",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RegistrationSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/translations": {
      "get": {
        "operationId": "GetEventSectionTranslations",
        "summary": "List a registration section's translations",
        "description": "Returns a paginated list of locale translations for the specified event registration section, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RegistrationSectionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections::Translations"
        ]
      }
    },
    "/events/{eventId}/sections/{sectionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSectionTranslation",
        "summary": "Get a registration section's translation",
        "description": "Retrieves the translation of the specified event registration section for a given locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/RegistrationSectionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSectionTranslation",
        "summary": "Update an event section's translation",
        "description": "Updates the translated text for a specific event registration section in the given locale, creating or overwriting the locale's translation fields; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSectionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSectionTranslation",
        "summary": "Delete an event section translation",
        "description": "Removes the translation for a specific locale from an event registration section, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sections::Translations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations": {
      "get": {
        "operationId": "GetEventSessionLocations",
        "summary": "List an event's session locations",
        "description": "Returns a paginated list of session locations (rooms/venues) configured for the given event, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionLocation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionLocation",
        "summary": "Create an event session location",
        "description": "Creates a new physical or virtual location that event sessions can be scheduled at, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionLocationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionLocation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations/{locationId}": {
      "get": {
        "operationId": "GetEventSessionLocation",
        "summary": "Get an event session location",
        "description": "Returns the details of a single session location for an event, such as its name and configuration; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionLocation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionLocation",
        "summary": "Update an event session location",
        "description": "Updates the name, description, address, or other details of an existing session location for the given event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionLocationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionLocation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionLocation",
        "summary": "Delete an event session location",
        "description": "Permanently deletes a session location from an event, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations/{locationId}/sessions": {
      "get": {
        "operationId": "GetEventSessionLocationSessions",
        "summary": "List sessions at an event session location",
        "description": "Returns a paginated list of event sessions assigned to a specific session location, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations/{locationId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddEventSessionLocationSession",
        "summary": "Assign a session to a location",
        "description": "Associates an event session with a session location so the session is scheduled at that location, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionLocation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionLocationSession",
        "summary": "Unassign a session from a location",
        "description": "Removes the association between an event session and a session location, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionLocation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations/{locationId}/translations": {
      "get": {
        "operationId": "GetEventSessionLocationTranslations",
        "summary": "List a session location's translations",
        "description": "Returns a paginated list of the locale translations available for an event session location, supporting search and ordering; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionLocationTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations::Translations"
        ]
      }
    },
    "/events/{eventId}/sessionLocations/{locationId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionLocationTranslation",
        "summary": "Get a session location's translation",
        "description": "Returns the translated content for an event session location in the specified locale, or null if no translation exists for that locale; requires read access to the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionLocationTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionLocationTranslation",
        "summary": "Update a session location translation",
        "description": "Creates or updates the localized fields (e.g. name) for an event session location in the given locale, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionLocationTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionLocationTranslation",
        "summary": "Delete a session location translation",
        "description": "Deletes the translation for a given locale on an event session location, requiring read/update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locationId",
            "schema": {
              "type": "string"
            },
            "description": "The location identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Locations::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions": {
      "get": {
        "operationId": "GetEventSessions",
        "summary": "List an event's sessions",
        "description": "Returns a paginated list of sessions belonging to the given event, with support for search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "post": {
        "operationId": "CreateEventSession",
        "summary": "Create an event session",
        "description": "Creates a new session on the specified event using the provided session details, generating a unique slug from its name; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}": {
      "get": {
        "operationId": "GetEventSession",
        "summary": "Get an event session's details",
        "description": "Returns the full details of a single session belonging to the given event, identified by session ID or slug; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "put": {
        "operationId": "UpdateEventSession",
        "summary": "Update an event session",
        "description": "Updates the details of an event session such as its name, description, timing, location, and activation link, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSession",
        "summary": "Delete an event session",
        "description": "Permanently deletes the specified session from the given event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/accesses": {
      "get": {
        "operationId": "GetEventSessionAccesses",
        "summary": "List an event session's pass accesses",
        "description": "Returns a paginated list of pass accesses (attendee entitlements) for the given event session, optionally filtered by purchase status, search, and ordering; requires read permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "purchaseStatus",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by purchaseStatus",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionAccess"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/accounts": {
      "get": {
        "operationId": "GetEventSessionAccounts",
        "summary": "List accounts associated with an event session",
        "description": "Returns a paginated list of accounts linked to the given event session, with support for search and ordering.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/accounts/{accountId}": {
      "post": {
        "operationId": "AddEventSessionAccount",
        "summary": "Add a sponsor account to a session",
        "description": "Attaches an account as a sponsor of the given event session, returning the updated session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionAccount",
        "summary": "Remove an account from a session",
        "description": "Disassociates an account from an event session, removing it from the session's list of related accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/blocks": {
      "get": {
        "operationId": "GetEventSessionBlocks",
        "summary": "List blocks assigned to an event session",
        "description": "Returns a paginated list of content blocks assigned to the given event session, with support for search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventBlock"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/blocks/{blockId}": {
      "post": {
        "operationId": "AddEventSessionBlock",
        "summary": "Add a content block to a session",
        "description": "Attaches an existing content block to the given event session, returning the updated session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionBlock",
        "summary": "Remove a content block from a session",
        "description": "Detaches a content block from an event session, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "blockId",
            "schema": {
              "type": "string"
            },
            "description": "The block identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/bulk-access": {
      "post": {
        "operationId": "CreateEventSessionPassTypeAccesses",
        "summary": "Grant session access to every pass of a pass type",
        "description": "Queues a background job that gives every ready or needsInfo pass of the specified pass type access to the session. Passes that already hold access are skipped and ones whose access was canceled are left alone, but a draft access is promoted to ready unless it belongs to an open checkout. Returns as soon as the job is queued, without waiting for it; requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "passTypeId": {
                    "type": "string"
                  }
                },
                "required": [
                  "passTypeId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/clone": {
      "post": {
        "operationId": "CloneEventSession",
        "summary": "Clone a session",
        "description": "Creates a duplicate of the specified event session, copying its details, speakers, tracks, sponsors, allowed and visible pass types/tiers, price overrides, translations, sections, and questions, optionally overriding the new session's name and start time; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionCloneOptions"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passTypes": {
      "get": {
        "operationId": "GetEventSessionPassTypes",
        "summary": "List pass types assigned to an event session",
        "description": "Returns a paginated list of pass types (tickets) that grant access to the given event session, with support for search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventSessionPassType",
        "summary": "Allow a pass type to register for a session",
        "description": "Adds the specified pass type to the event session's list of allowed pass types, permitting attendees holding that pass type to register for the session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionPassType",
        "summary": "Remove a pass type from a session",
        "description": "Removes a pass type from an event session's list of allowed pass types, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passes/{passId}": {
      "get": {
        "operationId": "GetEventSessionAccess",
        "summary": "Get a pass's access to a session",
        "description": "Returns the access record linking a specific pass to an event session, including its status and registration responses; requires read access to the events and attendees modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionAccess"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Accesses"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionAccess",
        "summary": "Grant a pass access to a session",
        "description": "Creates a session access record linking an attendee's pass to an event session, failing if session registration is not enabled, and requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionAccess"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Accesses"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionAccess",
        "summary": "Update a pass's session access",
        "description": "Updates fields, such as status, on the session access record linking a pass to an event session, requiring update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionAccessUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionAccess"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Accesses"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionAccess",
        "summary": "Revoke a pass's access to a session",
        "description": "Permanently deletes the session access record linking a pass to an event session, requiring update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Accesses"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passes/{passId}/responses": {
      "put": {
        "operationId": "UpdateEventSessionAccessResponses",
        "summary": "Update a pass's session access question responses",
        "description": "Overwrites the registration question responses used to control a pass's access to a specific event session, requires read/update permission on attendees and read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Passes::Accesses"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passes/{passId}/responses/{questionId}/changes": {
      "get": {
        "operationId": "GetEventSessionAccessResponseChanges",
        "summary": "List change history for a session access response",
        "description": "Returns a paginated audit trail of changes made to a specific registration question's response on a pass's session access, supporting search and ordering; requires read access to the events and attendees modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionResponseChange"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Accesses"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/passes/{passId}/sections": {
      "get": {
        "operationId": "GetEventSessionAccessQuestionSections",
        "summary": "List registration question sections for a pass's session access",
        "description": "Returns the registration question sections and their questions/choices (with remaining supply counts) applicable to a pass's access to a given event session; requires read access to the events and attendees modules.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionSection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Accesses"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/payments": {
      "get": {
        "operationId": "GetEventSessionPayments",
        "summary": "List payments made for an event session",
        "description": "Returns a paginated list of payments tied to the given event session, with support for search (by payer email or name) and ordering; requires read permission on events and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/prices": {
      "post": {
        "operationId": "CreateEventSessionPrice",
        "summary": "Add a pass type price override to a session",
        "description": "Creates a price override for a specific pass type on an event session so that pass type is sold at a different price for this session than its default price; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "passTypeId": {
                    "type": "string"
                  },
                  "price": {
                    "type": "number"
                  }
                },
                "required": [
                  "passTypeId",
                  "price"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Prices"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/prices/{priceId}": {
      "put": {
        "operationId": "UpdateEventSessionPrice",
        "summary": "Update a session's pass type price override",
        "description": "Updates an existing pass type price override on an event session, allowing the pass type and/or override price to be changed; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "priceId",
            "schema": {
              "type": "string"
            },
            "description": "The price identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "passTypeId": {
                    "type": "string"
                  },
                  "price": {
                    "type": "number"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Prices"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionPrice",
        "summary": "Remove a pass type price override from a session",
        "description": "Deletes a pass type price override from an event session, reverting that pass type back to its default price for the session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "priceId",
            "schema": {
              "type": "string"
            },
            "description": "The price identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Prices"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions": {
      "get": {
        "operationId": "GetEventSessionQuestions",
        "summary": "List an event session's registration questions",
        "description": "Returns a paginated list of registration questions configured for an event session, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionQuestion",
        "summary": "Create a session registration question",
        "description": "Creates a new custom registration question for an event session, optionally placed in a section or as a sub-question of an answer choice; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}": {
      "get": {
        "operationId": "GetEventSessionQuestion",
        "summary": "Get a session registration question",
        "description": "Returns a single registration question configured for an event session, identified by its question ID; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionQuestion",
        "summary": "Update an event session question",
        "description": "Updates the fields of an existing event session question, such as its label, description, type, or attached search list, and repositions it within the session's sort order if a new sortOrder is provided; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionQuestion",
        "summary": "Delete an event session question",
        "description": "Permanently deletes a question from an event session and re-sequences the sort order of the remaining questions in that session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sectionId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices": {
      "get": {
        "operationId": "GetEventSessionQuestionChoices",
        "summary": "List a session question's answer choices",
        "description": "Returns a paginated list of the answer choices configured for a session registration question, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionChoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionQuestionChoice",
        "summary": "Add a choice to a session question",
        "description": "Creates a new answer choice for the specified event session question, inserting it at the given sort order position and shifting existing choices as needed; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionChoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/reorder": {
      "put": {
        "operationId": "ReorderEventSessionQuestionChoices",
        "summary": "Reorder a session question's choices",
        "description": "Sets the sort order of an event session question's answer choices to match the order of the given list of choice IDs, which must include every existing choice for that question; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "choicesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "choicesIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionChoice"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}": {
      "get": {
        "operationId": "GetEventSessionQuestionChoice",
        "summary": "Get a session question's answer choice",
        "description": "Returns a single answer choice belonging to a session registration question, identified by its choice ID; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionQuestionChoice",
        "summary": "Update a session question choice",
        "description": "Updates the fields (such as value or text) of an existing answer choice on an event session question and repositions it within the question's sort order when a new sortOrder is provided; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionChoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionQuestionChoice",
        "summary": "Delete a session question choice",
        "description": "Permanently deletes an answer choice from an event session question and re-sequences the sort order of the remaining choices; fails if the question is a checkbox type that already has responses, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}/subQuestions": {
      "get": {
        "operationId": "GetEventSessionQuestionChoiceSubQuestions",
        "summary": "List an answer choice's follow-up sub-questions",
        "description": "Returns a paginated list of the follow-up sub-questions that are triggered when a session question's answer choice is selected, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionChoiceSubQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}/subQuestions/reorder": {
      "put": {
        "operationId": "ReorderEventSessionQuestionChoiceSubQuestions",
        "summary": "Reorder a choice's sub-questions",
        "description": "Sets the sort order of a session question choice's conditional sub-questions to match the order of the given list of question IDs, which must include every existing sub-question for that choice; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionChoiceSubQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}/subQuestions/{subQuestionId}": {
      "post": {
        "operationId": "AddEventSessionQuestionChoiceSubQuestion",
        "summary": "Attach a follow-up question to a session question choice",
        "description": "Links an existing event session question as a conditional sub-question that is shown when the given answer choice of another session question is selected, appending it to the choice's ordered list of sub-questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionQuestionChoiceSubQuestion",
        "summary": "Reposition a choice's sub-question",
        "description": "Updates the sort order of a single conditional sub-question attached to an event session question choice, shifting the other sub-questions of that choice to accommodate the new position; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionQuestionChoiceSubQuestion",
        "summary": "Remove a sub-question from a choice",
        "description": "Detaches a conditional follow-up (sub) question from an event session question choice and re-sequences the sort order of the choice's remaining sub-questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}/translations": {
      "get": {
        "operationId": "GetEventSessionQuestionChoiceTranslations",
        "summary": "List a session question choice's translations",
        "description": "Returns a paginated list of locale translations for a specific answer choice of a session registration question, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionChoiceTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/choices/{choiceId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionQuestionChoiceTranslation",
        "summary": "Get a session question choice's translation",
        "description": "Retrieves the localized text for a specific answer choice of an event session question in the given locale, returning null if no translation exists for that locale; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionQuestionChoiceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionQuestionChoiceTranslation",
        "summary": "Create or update a session question choice translation",
        "description": "Upserts the translated text for an event session question's answer choice in the given locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionChoiceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionQuestionChoiceTranslation",
        "summary": "Delete a session question choice translation",
        "description": "Removes the translation for the given locale from an event session question's answer choice, leaving the choice's default-locale text as the only version; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/responses": {
      "get": {
        "operationId": "GetEventSessionQuestionResponses",
        "summary": "List a session question's registrant responses",
        "description": "Returns a paginated list of registrant-submitted answers to a session registration question, filtered to registrations with a ready or needs-info status, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionResponse"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/searchlist": {
      "put": {
        "operationId": "AttachEventSessionQuestionSearchList",
        "summary": "Attach a search list to a session question",
        "description": "Links a search list (a predefined, searchable set of selectable values) to an event session question so its answer options are sourced from that list; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachSearchListInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      },
      "delete": {
        "operationId": "DetachEventSessionQuestionSearchList",
        "summary": "Detach a search list from a session question",
        "description": "Removes the association between an event session question and its linked search list by clearing the question's searchListId, without deleting the search list itself; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/translations": {
      "get": {
        "operationId": "GetEventSessionQuestionTranslations",
        "summary": "List a session question's translations",
        "description": "Returns a paginated list of locale translations for a session registration question, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionQuestionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionQuestionTranslation",
        "summary": "Get a session question's translation",
        "description": "Returns the translation of a session registration question for a specific locale, or null if none exists; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionQuestionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionQuestionTranslation",
        "summary": "Create or update a session question translation",
        "description": "Upserts the translated text for an event session question in the given locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionQuestionTranslation",
        "summary": "Delete a session question translation",
        "description": "Removes the translation for the given locale from an event session question, leaving the question's default-locale text as the only version; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Questions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds": {
      "get": {
        "operationId": "GetEventSessionRounds",
        "summary": "List matchmaking rounds for a session",
        "description": "Returns the full list of matchmaking rounds configured for an event session, used to drive attendee matchmaking within that session; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Round"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionRound",
        "summary": "Create a matchmaking round for a session",
        "description": "Creates a new round for the given event session, auto-numbering it after any existing rounds so attendees can later be matched within it; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Round"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}": {
      "delete": {
        "operationId": "DeleteEventSessionRound",
        "summary": "Delete a matchmaking round from a session",
        "description": "Permanently deletes a round, and its matches, from the given event session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/matches": {
      "get": {
        "operationId": "GetEventSessionRoundMatches",
        "summary": "List matches in a session matchmaking round",
        "description": "Returns a paginated list of matches generated for a matchmaking round of an event session, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Match"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionMatch",
        "summary": "Create a match within a session round",
        "description": "Creates a new, empty match in the specified matchmaking round of an event session, auto-numbering it after the existing matches; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/matches/{matchId}": {
      "get": {
        "operationId": "GetEventSessionRoundMatch",
        "summary": "Get a single matchmaking round match",
        "description": "Retrieves a specific match within a matchmaking round of an event session, identified by event, session, round, and match IDs; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionMatch",
        "summary": "Update a match's title and description",
        "description": "Updates the title and/or description of an existing match within a session round; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MatchUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Match"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionMatch",
        "summary": "Delete a match from a session round",
        "description": "Permanently removes a single match from the specified matchmaking round of an event session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/matches/{matchId}/passes": {
      "get": {
        "operationId": "GetEventSessionRoundMatchPasses",
        "summary": "List passes assigned to a round match",
        "description": "Returns a paginated list of attendee passes assigned to a specific match within a matchmaking round, supporting search and ordering; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/matches/{matchId}/passes/{passId}": {
      "post": {
        "operationId": "AddEventSessionMatchPass",
        "summary": "Assign a pass to a matchmaking match",
        "description": "Adds an attendee pass to the specified match within a session round, disconnecting it from any other match in that round it was previously assigned to; requires read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionMatchPass",
        "summary": "Unassign a pass from a matchmaking match",
        "description": "Removes an attendee pass from the specified match within a session round without assigning it elsewhere; requires read and update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "matchId",
            "schema": {
              "type": "string"
            },
            "description": "The match identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passId",
            "schema": {
              "type": "string"
            },
            "description": "The pass identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/passes": {
      "get": {
        "operationId": "GetEventSessionRoundPasses",
        "summary": "List passes in a session matchmaking round",
        "description": "Returns a paginated list of attendee passes belonging to a matchmaking round, optionally filtered to only those already assigned to a match via the \"assigned\" flag, with search and ordering support; requires \"read\" permission on events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "assigned",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by assigned",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/questions": {
      "get": {
        "operationId": "GetEventSessionRoundQuestions",
        "summary": "List a matchmaking round's matching questions",
        "description": "Returns a paginated list of the questions used to match attendees within a session matchmaking round, supporting search and ordering; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RoundSessionQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/questions/summary": {
      "get": {
        "operationId": "GetEventSessionRoundQuestionsSummary",
        "summary": "Get a summary of a round's matching questions",
        "description": "Returns a summary mapping each matching question in a session matchmaking round to its question type, used to review round configuration at a glance; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "$ref": "#/components/schemas/MatchQuestionType"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/questions/{questionId}": {
      "put": {
        "operationId": "UpdateEventSessionRoundQuestion",
        "summary": "Set a session question's matchmaking type for a round",
        "description": "Sets how a given session question is used for matchmaking in a specific round (e.g. include, split, or exclude attendees by their answer), creating the round-question link if it doesn't already exist; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoundSessionQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/RoundSessionQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/rounds/{roundId}/start": {
      "post": {
        "operationId": "StartEventSessionRoundMatchmaking",
        "summary": "Start automated matchmaking for a round",
        "description": "Sets the target match size on the given round and queues an asynchronous job to automatically group assigned attendee passes into matches based on the round's configured matching questions; requires update permission on events and fails if the round has no questions configured for matching.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "roundId",
            "schema": {
              "type": "string"
            },
            "description": "The round identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "targetMatchSize": {
                    "type": "number"
                  }
                },
                "required": [
                  "targetMatchSize"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Matches"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections": {
      "get": {
        "operationId": "GetEventSessionSections",
        "summary": "List a session's question sections",
        "description": "Returns a paginated list of question sections defined for an event session, ordered by sort order and name by default, and supports search; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionSection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionSection",
        "summary": "Create a session section",
        "description": "Creates a new question section within an event session, used to group related registration or check-in questions, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionSectionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}": {
      "get": {
        "operationId": "GetEventSessionSection",
        "summary": "Get a session question section",
        "description": "Retrieves a single question section belonging to an event session by its ID, including its details; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionSection",
        "summary": "Update a session section",
        "description": "Updates the properties of a question section within an event session, such as its name or settings, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionSectionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionSection",
        "summary": "Delete a session section",
        "description": "Permanently deletes a question section from an event session, requiring the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}/questions": {
      "get": {
        "operationId": "GetEventSessionSectionQuestions",
        "summary": "List questions in a session section",
        "description": "Returns a paginated list of questions assigned to a question section within an event session, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionSectionQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}/questions/reorder": {
      "put": {
        "operationId": "ReorderEventSessionSectionQuestions",
        "summary": "Reorder a session section's questions",
        "description": "Sets the display order of all questions within a session section by supplying the full list of question IDs in the desired order, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionSectionQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}/questions/{questionId}": {
      "post": {
        "operationId": "AddEventSessionSectionQuestion",
        "summary": "Add a question to a session section",
        "description": "Attaches an existing session question to a section, appending it to the end of the section's question order, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionSectionQuestion",
        "summary": "Update a section question's sort order",
        "description": "Moves a question to a new position within its session section by setting its sort order, shifting the other questions in the section accordingly, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionSectionQuestion",
        "summary": "Remove a question from a session section",
        "description": "Detaches a question from a session section without deleting the underlying question, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionSection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}/translations": {
      "get": {
        "operationId": "GetEventSessionSectionTranslations",
        "summary": "List translations for a session section",
        "description": "Returns a paginated list of translations for a question section within an event session, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionSectionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sections/{sectionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionSectionTranslation",
        "summary": "Get a session section's translation",
        "description": "Returns the translation of a session registration question section for a specific locale, or null if none exists; requires \"read\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionSectionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionSectionTranslation",
        "summary": "Update a session section translation",
        "description": "Updates the localized title and content for a session section in the given locale, creating or overwriting the translation, and requires the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionSectionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionSectionTranslation",
        "summary": "Delete a session section translation",
        "description": "Deletes the translation for the given locale on a session section, requiring the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Sections::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/speakers": {
      "get": {
        "operationId": "GetEventSessionSpeakers",
        "summary": "List speakers assigned to an event session",
        "description": "Returns a paginated list of speakers assigned to the given event session, with support for search (name, bio, company) and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSpeaker"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/speakers/{speakerId}": {
      "post": {
        "operationId": "AddEventSessionSpeaker",
        "summary": "Add a speaker to a session",
        "description": "Attaches the specified speaker to the given event session so they appear as a presenter on the session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionSpeaker",
        "summary": "Remove a speaker from a session",
        "description": "Disassociates a speaker from an event session, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sponsors": {
      "get": {
        "operationId": "GetEventSessionSponsors",
        "summary": "List sponsors of an event session",
        "description": "Returns a paginated list of accounts sponsoring the given event session, either directly or through a sponsored track that includes the session, with support for search and ordering; requires read permission on events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/sponsors/{sponsorId}": {
      "post": {
        "operationId": "AddEventSessionSponsor",
        "summary": "Add a sponsor to a session",
        "description": "Attaches the specified account as a sponsor of the given event session; requires update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsor identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionSponsor",
        "summary": "Remove a sponsor from a session",
        "description": "Disassociates a sponsoring account from an event session, requiring the update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsor identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/tiers": {
      "get": {
        "operationId": "GetEventSessionTiers",
        "summary": "List an event session's allowed tiers",
        "description": "Returns the paginated list of account tiers permitted to register for or access the given event session, optionally filtered by a search term; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/tiers/{tierId}": {
      "post": {
        "operationId": "AddEventSessionTier",
        "summary": "Allow an account tier to register for a session",
        "description": "Adds the specified account tier to the event session's list of allowed tiers, permitting accounts in that tier to register for the session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionTier",
        "summary": "Remove a tier from a session",
        "description": "Removes a registration tier from an event session's list of allowed tiers, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times": {
      "get": {
        "operationId": "GetEventSessionTimes",
        "summary": "List a session's time slots",
        "description": "Returns a paginated list of time slots defined for an event session, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionTime"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      },
      "post": {
        "operationId": "CreateEventSessionTime",
        "summary": "Create a session time slot",
        "description": "Creates a new time slot (name, description, start time) under the given event session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionTimeCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionTime"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times/{timeId}": {
      "get": {
        "operationId": "GetEventSessionTime",
        "summary": "Get a session time slot",
        "description": "Retrieves a single time slot belonging to an event session by its ID; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionTime"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionTime",
        "summary": "Update a session time slot",
        "description": "Updates the details (such as name, description, or start time) of an existing time slot on an event session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionTimeUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionTime"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionTime",
        "summary": "Delete a session time slot",
        "description": "Permanently deletes a specific time slot from an event session; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times/{timeId}/speakers": {
      "get": {
        "operationId": "GetEventSessionTimeSpeakers",
        "summary": "List speakers assigned to a session time",
        "description": "Returns a paginated list of speakers assigned to a specific time slot within an event session, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSpeaker"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times/{timeId}/speakers/{speakerId}": {
      "post": {
        "operationId": "AddEventSessionTimeSpeaker",
        "summary": "Add a speaker to a session time",
        "description": "Attaches an existing event speaker to a specific session time slot, returning the updated session time; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionTime"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionTimeSpeaker",
        "summary": "Remove a speaker from a session time",
        "description": "Detaches a speaker from a specific session time slot, returning the updated session time; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSessionTime"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times/{timeId}/translations": {
      "get": {
        "operationId": "GetEventSessionTimeTranslations",
        "summary": "List translations for a session time",
        "description": "Returns a paginated list of locale translations for a specific time slot within an event session, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionTimeTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/times/{timeId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionTimeTranslation",
        "summary": "Get a session time's translation",
        "description": "Retrieves the translation for a specific session time in a given locale, returning null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionTimeTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionTimeTranslation",
        "summary": "Update a session time's translation",
        "description": "Creates or updates the localized name and description for a specific session time in the given locale, upserting the translation record; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionTimeTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionTimeTranslation",
        "summary": "Delete a session time translation",
        "description": "Deletes the translation for the given locale on an event session time slot, requiring the \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "timeId",
            "schema": {
              "type": "string"
            },
            "description": "The time identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Times::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/tracks": {
      "get": {
        "operationId": "GetEventSessionTracks",
        "summary": "List an event session's tracks",
        "description": "Returns the paginated list of tracks associated with the given event session, optionally filtered by a search term matching the track name or description; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventTrack"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/tracks/{trackId}": {
      "post": {
        "operationId": "AddEventSessionTrack",
        "summary": "Add a track to a session",
        "description": "Attaches the specified track to the given event session so the session is categorized under that track; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionTrack",
        "summary": "Remove a track from a session",
        "description": "Disassociates a track from an event session, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/translations": {
      "get": {
        "operationId": "GetEventSessionTranslations",
        "summary": "List an event session's translations",
        "description": "Returns a paginated list of translation records for the given event session, one per locale, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSessionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSessionTranslation",
        "summary": "Get a session's translation",
        "description": "Retrieves the translation for an event session in a given locale, returning null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSessionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSessionTranslation",
        "summary": "Update a session's translation",
        "description": "Creates or updates the localized content (such as name and description) for an event session in the specified locale, upserting the translation record; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSessionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSessionTranslation",
        "summary": "Delete a session's translation",
        "description": "Permanently removes the localized content for an event session in the specified locale; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions::Translations"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/visiblePassTypes": {
      "get": {
        "operationId": "GetEventSessionVisiblePassTypes",
        "summary": "List pass types that can view a session",
        "description": "Returns the paginated list of pass types (tickets) for which the given event session is visible on the schedule, optionally filtered by a search term matching the pass type name or description; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPassType"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/visiblePassTypes/{passTypeId}": {
      "post": {
        "operationId": "AddEventSessionVisiblePassType",
        "summary": "Make a session visible to a pass type",
        "description": "Adds the specified pass type to the event session's list of visible pass types, allowing attendees holding that pass type to see the session on the schedule even if they cannot register for it; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionVisiblePassType",
        "summary": "Remove a visible pass type from a session",
        "description": "Removes a pass type from the list of pass types that can see an event session, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "passTypeId",
            "schema": {
              "type": "string"
            },
            "description": "The passType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/visibleTiers": {
      "get": {
        "operationId": "GetEventSessionVisibleTiers",
        "summary": "List account tiers that can view a session",
        "description": "Returns the paginated list of account tiers for which the given event session is visible on the schedule, optionally filtered by a search term matching the tier name; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/sessions/{sessionId}/visibleTiers/{tierId}": {
      "post": {
        "operationId": "AddEventSessionVisibleTier",
        "summary": "Make a session visible to an account tier",
        "description": "Adds the specified account tier to the event session's list of visible tiers, allowing accounts in that tier to see the session on the schedule even if they cannot register for it; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSessionVisibleTier",
        "summary": "Remove a visible tier from a session",
        "description": "Removes a registration tier from the list of tiers that can see an event session, requiring the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sessions"
        ]
      }
    },
    "/events/{eventId}/speakers": {
      "get": {
        "operationId": "GetEventSpeakers",
        "summary": "List an event's speakers",
        "description": "Returns the paginated list of speakers for the given event, optionally filtered by a search term; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSpeaker"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      },
      "post": {
        "operationId": "CreateEventSpeaker",
        "summary": "Create an event speaker",
        "description": "Creates a new speaker for the specified event using the supplied speaker details, returning the newly created speaker; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSpeakerCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSpeaker"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      }
    },
    "/events/{eventId}/speakers/{speakerId}": {
      "get": {
        "operationId": "GetEventSpeaker",
        "summary": "Get a single event speaker",
        "description": "Returns the details of a single speaker for the given event, identified by speaker ID or slug; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSpeaker"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      },
      "put": {
        "operationId": "UpdateEventSpeaker",
        "summary": "Update an event speaker",
        "description": "Updates the details of an existing speaker on the specified event with the supplied fields, returning the updated speaker; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSpeakerUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSpeaker"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSpeaker",
        "summary": "Delete an event speaker",
        "description": "Permanently removes a speaker from the specified event; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      }
    },
    "/events/{eventId}/speakers/{speakerId}/sessions": {
      "get": {
        "operationId": "GetEventSpeakerSessions",
        "summary": "List an event speaker's sessions",
        "description": "Returns the paginated list of sessions that the given event speaker is presenting at, optionally filtered by a search term; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      }
    },
    "/events/{eventId}/speakers/{speakerId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddEventSpeakerSession",
        "summary": "Assign a session to a speaker",
        "description": "Links the specified session to an event speaker so the speaker is listed as presenting it, returning the updated speaker; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSpeaker"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSpeakerSession",
        "summary": "Unassign a session from a speaker",
        "description": "Unlinks the specified session from an event speaker so the speaker is no longer listed as presenting it, returning the updated speaker; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSpeaker"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers"
        ]
      }
    },
    "/events/{eventId}/speakers/{speakerId}/translations": {
      "get": {
        "operationId": "GetEventSpeakerTranslations",
        "summary": "List an event speaker's translations",
        "description": "Returns the paginated list of locale translations available for the given event speaker, optionally filtered by a search term; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSpeakerTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers::Translations"
        ]
      }
    },
    "/events/{eventId}/speakers/{speakerId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSpeakerTranslation",
        "summary": "Get a speaker's translation for a locale",
        "description": "Returns the localized translation (name, title, bio, etc.) of the given event speaker for the specified locale, or null if none exists; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventSpeakerTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSpeakerTranslation",
        "summary": "Update an event speaker's translation",
        "description": "Creates or updates the localized translation for an event speaker in the given locale, applying the supplied translated fields; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSpeakerTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSpeakerTranslation",
        "summary": "Delete an event speaker's translation",
        "description": "Deletes the localized translation for the given locale on an event speaker, removing that language's translated fields; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "speakerId",
            "schema": {
              "type": "string"
            },
            "description": "The speaker identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Speakers::Translations"
        ]
      }
    },
    "/events/{eventId}/sponsors": {
      "get": {
        "operationId": "GetEventSponsors",
        "summary": "List an event's sponsor accounts",
        "description": "Returns a paginated list of accounts that are sponsoring the given event, supporting search and ordering; requires read permission on events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsors"
        ]
      }
    },
    "/events/{eventId}/sponsors/accounts": {
      "get": {
        "operationId": "GetEventSponsorAccounts",
        "summary": "List an event's sponsor accounts",
        "description": "Returns the paginated list of accounts sponsoring the given event, optionally filtered by a search term matching the account's name, email, or ID; requires read permission on events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsors"
        ]
      }
    },
    "/events/{eventId}/sponsors/accounts/{accountId}": {
      "post": {
        "operationId": "AddEventSponsorAccount",
        "summary": "Add an account as an event sponsor",
        "description": "Connects the specified account to the event as a sponsor, returning the updated event; requires the update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsors"
        ]
      },
      "delete": {
        "operationId": "RemoveEventSponsorAccount",
        "summary": "Remove an account as an event sponsor",
        "description": "Disconnects the specified account from the event's sponsors, returning the updated event; requires the update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Event"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsors"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels": {
      "get": {
        "operationId": "GetEventSponsorshipLevels",
        "summary": "List an event's sponsorship levels",
        "description": "Returns a paginated list of sponsorship levels defined for the given event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorshipLevel"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      },
      "post": {
        "operationId": "CreateEventSponsorshipLevel",
        "summary": "Create an event sponsorship level",
        "description": "Creates a new sponsorship level (e.g. Gold, Silver, Bronze) for the given event, which sponsors can then be assigned to; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipLevelCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipLevel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/reorder": {
      "put": {
        "operationId": "ReorderEventSponsorshipLevels",
        "summary": "Reorder an event's sponsorship levels",
        "description": "Sets the display order of an event's sponsorship levels by supplying the full ordered list of level IDs; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "levelIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "levelIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorshipLevel"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}": {
      "get": {
        "operationId": "GetEventSponsorshipLevel",
        "summary": "Get an event sponsorship level",
        "description": "Returns a single sponsorship level (e.g. Gold, Silver) defined for the given event; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipLevel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      },
      "put": {
        "operationId": "UpdateEventSponsorshipLevel",
        "summary": "Update an event sponsorship level",
        "description": "Updates the properties (e.g. name, description, benefits) of an existing sponsorship level for the given event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipLevelUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipLevel"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSponsorshipLevel",
        "summary": "Delete an event sponsorship level",
        "description": "Permanently deletes a sponsorship level from the given event, along with its associated sponsorships; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/sponsorships": {
      "get": {
        "operationId": "GetEventSponsorships",
        "summary": "List sponsorships within a level",
        "description": "Returns a paginated list of sponsorships (sponsors assigned) under the given sponsorship level of an event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorship"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      },
      "post": {
        "operationId": "CreateEventSponsorship",
        "summary": "Create a sponsorship on a sponsorship level",
        "description": "Creates a new sponsorship (a sponsor placed at a given sponsorship level) for an event; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorship"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/sponsorships/reorder": {
      "put": {
        "operationId": "ReorderEventSponsorships",
        "summary": "Reorder sponsorships within a sponsorship level",
        "description": "Sets the display order of the sponsorships within an event sponsorship level by supplying the full ordered list of sponsorship IDs; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sponsorshipIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "sponsorshipIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorship"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/sponsorships/{sponsorshipId}": {
      "get": {
        "operationId": "GetEventSponsorship",
        "summary": "Get a sponsorship within a level",
        "description": "Returns a single sponsorship record (the sponsor assigned to a sponsorship level) for the given event; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorship"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      },
      "put": {
        "operationId": "UpdateEventSponsorship",
        "summary": "Update an event sponsorship",
        "description": "Updates the details of a sponsorship record at a given sponsorship level for an event, such as its name, description, or links, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorship"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSponsorship",
        "summary": "Delete a sponsorship from a sponsorship level",
        "description": "Permanently deletes a sponsorship from the given event sponsorship level; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/sponsorships/{sponsorshipId}/translations": {
      "get": {
        "operationId": "GetEventSponsorshipTranslations",
        "summary": "List a sponsorship's translations",
        "description": "Returns a paginated list of locale translations for a specific sponsorship under a given sponsorship level of an event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorshipTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships::Translations"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/sponsorships/{sponsorshipId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSponsorshipTranslation",
        "summary": "Get a sponsorship translation",
        "description": "Returns the translation of a specific sponsorship, under a given sponsorship level of an event, for the specified locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSponsorshipTranslation",
        "summary": "Update a sponsorship's translation",
        "description": "Updates the translated fields (e.g. name, description) for a specific locale of a sponsorship within an event sponsorship level, creating or overwriting that locale's translation; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSponsorshipTranslation",
        "summary": "Delete a sponsorship's translation",
        "description": "Deletes the translated fields for a specific locale of a sponsorship within an event sponsorship level; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorshipId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorship identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorships::Translations"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/translations": {
      "get": {
        "operationId": "GetEventSponsorshipLevelTranslations",
        "summary": "List a sponsorship level's translations",
        "description": "Returns a paginated list of locale translations for the given event sponsorship level, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSponsorshipLevelTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels::Translations"
        ]
      }
    },
    "/events/{eventId}/sponsorshipLevels/{levelId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventSponsorshipLevelTranslation",
        "summary": "Get a sponsorship level translation",
        "description": "Returns the translation of an event sponsorship level for the specified locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipLevelTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventSponsorshipLevelTranslation",
        "summary": "Update a sponsorship level's translation",
        "description": "Updates the translated fields (e.g. name, description) for a specific locale of an event sponsorship level, creating or overwriting that locale's translation; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventSponsorshipLevelTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventSponsorshipLevelTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventSponsorshipLevelTranslation",
        "summary": "Delete a sponsorship level's translation",
        "description": "Deletes the localized translation for the given locale on an event sponsorship level, removing that language's translated fields; requires the update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Sponsorshiplevels::Translations"
        ]
      }
    },
    "/events/{eventId}/template": {
      "put": {
        "operationId": "UpdateEventBadgeTemplate",
        "summary": "Update an event's badge template",
        "description": "Replaces the on-site check-in badge template design for the given event, used to render printed attendee badges; requires read and update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventOnSite"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::OnSite"
        ]
      }
    },
    "/events/{eventId}/tiers": {
      "get": {
        "operationId": "GetEventTiers",
        "summary": "List an event's account tiers",
        "description": "Returns the account tiers associated with the given event through its tickets, add-ons, and room types (including tiers that are explicitly disallowed for those items); requires \"read\" permission on events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseTier"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events"
        ]
      }
    },
    "/events/{eventId}/tracks": {
      "get": {
        "operationId": "GetEventTracks",
        "summary": "List an event's tracks",
        "description": "Returns a paginated list of tracks (content categories/tags used to group sessions) for the given event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventTrack"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      },
      "post": {
        "operationId": "CreateEventTrack",
        "summary": "Create an event track",
        "description": "Creates a new track (a grouping of sessions, such as a themed agenda path) for the given event, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventTrackCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}": {
      "get": {
        "operationId": "GetEventTrack",
        "summary": "Get an event track",
        "description": "Retrieves the details of a single track belonging to an event, identified by track ID or slug; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      },
      "put": {
        "operationId": "UpdateEventTrack",
        "summary": "Update an event track",
        "description": "Updates the details of an existing track for the given event, such as its name or description, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventTrackUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      },
      "delete": {
        "operationId": "DeleteEventTrack",
        "summary": "Delete an event track",
        "description": "Permanently deletes a track from the given event, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/sessions": {
      "get": {
        "operationId": "GetEventTrackSessions",
        "summary": "List sessions assigned to an event track",
        "description": "Returns a paginated list of the sessions linked to the given event track, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddEventTrackSession",
        "summary": "Add a session to an event track",
        "description": "Associates an existing event session with the given track, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      },
      "delete": {
        "operationId": "RemoveEventTrackSession",
        "summary": "Remove a session from an event track",
        "description": "Removes the association between an event session and the given track, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/sponsors": {
      "get": {
        "operationId": "GetEventTrackSponsors",
        "summary": "List an event track's sponsor accounts",
        "description": "Returns a paginated list of accounts sponsoring the given event track, supporting search and ordering; requires read permission on events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/sponsors/{sponsorId}": {
      "post": {
        "operationId": "AddEventTrackSponsor",
        "summary": "Add a sponsor to an event track",
        "description": "Associates an account as a sponsor of the given event track, and requires update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsor identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      },
      "delete": {
        "operationId": "RemoveEventTrackSponsor",
        "summary": "Remove a sponsor from an event track",
        "description": "Removes an account's sponsorship association from the given event track, and requires update permission on both events and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sponsorId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsor identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EventTrack"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/translations": {
      "get": {
        "operationId": "GetEventTrackTranslations",
        "summary": "List an event track's translations",
        "description": "Returns a paginated list of locale translations for the given event track, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventTrackTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks::Translations"
        ]
      }
    },
    "/events/{eventId}/tracks/{trackId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventTrackTranslation",
        "summary": "Get an event track translation",
        "description": "Retrieves the localized translation of an event track for the given locale, returning null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventTrackTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventTrackTranslation",
        "summary": "Update an event track translation",
        "description": "Creates or updates the translated name and description of an event track for the specified locale, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventTrackTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventTrackTranslation",
        "summary": "Delete an event track translation",
        "description": "Removes the translation of an event track for the specified locale, and requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "trackId",
            "schema": {
              "type": "string"
            },
            "description": "The track identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Tracks::Translations"
        ]
      }
    },
    "/events/{eventId}/transfers": {
      "get": {
        "operationId": "GetEventPassTransfers",
        "summary": "List event pass transfers",
        "description": "Lists pending pass transfer invites for an event, where an attendee has initiated sending their pass to a recipient by email; supports pagination, ordering, and search by recipient email or sender name/email.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Transfer"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Transfers"
        ]
      }
    },
    "/events/{eventId}/transfers/{transferId}": {
      "delete": {
        "operationId": "CancelEventPassTransfer",
        "summary": "Cancel event pass transfer",
        "description": "Cancels a pending event pass transfer invite by deleting the transfer record, invalidating the recipient's claim link so the pass stays with its original owner. Requires update permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "transferId",
            "schema": {
              "type": "string"
            },
            "description": "The transfer identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Transfers"
        ]
      }
    },
    "/events/{eventId}/translations": {
      "get": {
        "operationId": "GetEventTranslations",
        "summary": "List an event's translations",
        "description": "Returns a paginated list of locale translations for the given event, supporting search and ordering; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Translations"
        ]
      }
    },
    "/events/{eventId}/translations/{locale}": {
      "get": {
        "operationId": "GetEventTranslation",
        "summary": "Get an event translation",
        "description": "Retrieves the localized translation of an event for the given locale, returning null if no translation exists for that locale; requires read permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/EventTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateEventTranslation",
        "summary": "Update an event translation",
        "description": "Creates or updates the translated fields (such as name and description) for an event in the given locale, requiring the update events permission.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteEventTranslation",
        "summary": "Delete an event translation",
        "description": "Removes the translation for the given locale from an event, requiring the update events permission; the event's default-locale content is unaffected.",
        "parameters": [
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Events::Translations"
        ]
      }
    },
    "/files": {
      "get": {
        "operationId": "GetFiles",
        "summary": "List stored files",
        "description": "Returns a paginated list of uploaded files for the organization, optionally filtered by source and searched/ordered; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            },
            "description": "Filter by source",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/File"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Files"
        ]
      },
      "post": {
        "operationId": "UploadFile",
        "summary": "Upload a file from a data URI",
        "description": "Uploads a file encoded as a base64 data URI directly to storage and records it, tagging it with the given source (\"admin\" or \"response\") and optional name, requiring create permission on storage.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "dataUri": {
                    "type": "string"
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "admin",
                      "response"
                    ]
                  },
                  "name": {
                    "type": "string"
                  }
                },
                "required": [
                  "dataUri",
                  "source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/File"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Files"
        ]
      }
    },
    "/files/{fileId}": {
      "get": {
        "operationId": "GetFile",
        "summary": "Get a stored file",
        "description": "Returns the details of a single uploaded file by ID; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "path",
            "name": "fileId",
            "schema": {
              "type": "string"
            },
            "description": "The file identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/File"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Files"
        ]
      },
      "put": {
        "operationId": "UpdateFile",
        "summary": "Update a file",
        "description": "Updates metadata for an existing stored file, such as its name, requiring the update storage permission.",
        "parameters": [
          {
            "in": "path",
            "name": "fileId",
            "schema": {
              "type": "string"
            },
            "description": "The file identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FileUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/File"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Files"
        ]
      },
      "delete": {
        "operationId": "DeleteFile",
        "summary": "Delete a file",
        "description": "Permanently deletes a stored file and its underlying storage object, requiring the delete storage permission.",
        "parameters": [
          {
            "in": "path",
            "name": "fileId",
            "schema": {
              "type": "string"
            },
            "description": "The file identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Files"
        ]
      }
    },
    "/groups": {
      "get": {
        "operationId": "GetGroups",
        "summary": "List groups in the organization",
        "description": "Returns a paginated list of groups for the organization, filterable by access level (public or private) and whether the group is featured, with optional search and ordering; requires read access to groups.",
        "parameters": [
          {
            "in": "query",
            "name": "access",
            "schema": {
              "type": "string",
              "enum": [
                "public",
                "private"
              ]
            },
            "description": "Filter by access",
            "required": false
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Group"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "post": {
        "operationId": "CreateGroup",
        "summary": "Create a group",
        "description": "Creates a new group for the organization from the supplied group details and requires the \"create\" permission on groups.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/groups/{groupId}": {
      "get": {
        "operationId": "GetGroup",
        "summary": "Get a single group",
        "description": "Returns the details of a single group by its ID or slug, including its configuration and metadata; requires read access to groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "put": {
        "operationId": "UpdateGroup",
        "summary": "Update a group",
        "description": "Updates the details of an existing group identified by groupId and requires the \"update\" permission on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      },
      "delete": {
        "operationId": "DeleteGroup",
        "summary": "Delete a group",
        "description": "Permanently deletes the specified group from the organization and requires the \"del\" permission on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/groups/{groupId}/activities": {
      "get": {
        "operationId": "GetGroupActivities",
        "summary": "List a group's activity feed",
        "description": "Returns a paginated list of activity posts belonging to the given group, filterable by moderation status and whether the activity is featured, and searchable by message text; requires read access to groups and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "featured",
            "schema": {
              "type": "object"
            },
            "description": "Filter by featured",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups"
        ]
      }
    },
    "/groups/{groupId}/events": {
      "get": {
        "operationId": "GetGroupEvents",
        "summary": "List a group's events",
        "description": "Returns a paginated list of events associated with the given group, optionally filtered to past or upcoming events and by a search term, with sorting via orderBy; requires \"read\" permission on groups and events.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "past",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by past",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Events"
        ]
      }
    },
    "/groups/{groupId}/events/{eventId}": {
      "post": {
        "operationId": "AddGroupEvent",
        "summary": "Add an event to a group",
        "description": "Associates an existing event with a group, requiring update permission on both groups and events; the group's cached data is refreshed and its events list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Events"
        ]
      },
      "delete": {
        "operationId": "RemoveGroupEvent",
        "summary": "Remove an event from a group",
        "description": "Disassociates an event from a group, requiring update permission on both groups and events; the group's cached data is refreshed and its events list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Events"
        ]
      }
    },
    "/groups/{groupId}/interests": {
      "get": {
        "operationId": "GetGroupInterests",
        "summary": "List a group's interests",
        "description": "Returns a paginated list of interest tags associated with the given group, optionally filtered by a search term on the interest name and sorted via orderBy; requires \"read\" permission on groups and interests.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Interest"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Interests"
        ]
      }
    },
    "/groups/{groupId}/interests/{accountId}": {
      "delete": {
        "operationId": "RemoveGroupInterest",
        "summary": "Remove an interest from a group",
        "description": "Disassociates an interest from a group, requiring update permission on both groups and interests; the group's cached data is refreshed and its interests list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Interests"
        ]
      }
    },
    "/groups/{groupId}/interests/{interestId}": {
      "post": {
        "operationId": "AddGroupInterest",
        "summary": "Add an interest to a group",
        "description": "Associates an existing interest with a group, requiring update permission on both groups and interests; the group's cached data is refreshed and its interests list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Interests"
        ]
      }
    },
    "/groups/{groupId}/invitations": {
      "get": {
        "operationId": "GetGroupInvitations",
        "summary": "List a group's invitations",
        "description": "Returns a paginated list of invitations sent for the given group, filterable by status (e.g. invited, canceled, rejected, accepted) and a search term, with sorting via orderBy; requires \"read\" permission on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/GroupInvitationStatus"
            },
            "description": "Filter by status",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupInvitation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      },
      "post": {
        "operationId": "CreateGroupInvitations",
        "summary": "Invite accounts to join a group",
        "description": "Creates up to 10 pending invitations for the given account IDs to join a group on behalf of a moderator account, requiring update permission on groups; the group's invitations list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "moderatorId": {
                    "type": "string"
                  },
                  "accountIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "moderatorId",
                  "accountIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupInvitation"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      }
    },
    "/groups/{groupId}/invitations/{invitationId}": {
      "get": {
        "operationId": "GetGroupInvitation",
        "summary": "Get a single group invitation",
        "description": "Returns the details of a single invitation to the given group by its invitation ID, including its status (invited, canceled, rejected, or accepted); requires \"read\" permission on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "invitationId",
            "schema": {
              "type": "string"
            },
            "description": "The invitation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupInvitation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      },
      "delete": {
        "operationId": "DeleteGroupInvitation",
        "summary": "Permanently delete a group invitation",
        "description": "Removes a group invitation record entirely, requiring update permission on groups; the group's invitations list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "invitationId",
            "schema": {
              "type": "string"
            },
            "description": "The invitation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      }
    },
    "/groups/{groupId}/invitations/{invitationId}/cancel": {
      "put": {
        "operationId": "CancelGroupInvitation",
        "summary": "Cancel a group invitation",
        "description": "Marks a pending group invitation as canceled so the invited account can no longer accept it, requiring update permission on groups; the group's invitations list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "invitationId",
            "schema": {
              "type": "string"
            },
            "description": "The invitation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupInvitation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      }
    },
    "/groups/{groupId}/invitations/{invitationId}/reinvite": {
      "put": {
        "operationId": "ReinviteGroupInvitation",
        "summary": "Reinvite a canceled group invitation",
        "description": "Restores a previously canceled group invitation back to invited status so the account can accept it again, requiring update permission on groups; the group's invitations list is invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "invitationId",
            "schema": {
              "type": "string"
            },
            "description": "The invitation identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupInvitation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Invitations"
        ]
      }
    },
    "/groups/{groupId}/members": {
      "get": {
        "operationId": "GetGroupMembers",
        "summary": "List a group's members",
        "description": "Returns a paginated list of accounts with the \"member\" role in the given group, optionally filtered by a search term matching the account's name or email and sorted via orderBy; requires \"read\" permission on groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupMembership"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Members"
        ]
      },
      "delete": {
        "operationId": "RemoveAllGroupMembers",
        "summary": "Remove all members from a group",
        "description": "Deletes every membership record for a group, clearing all of its members and moderators at once, requiring read/update/delete permission on groups and accounts; the group's cached data, members list, and moderators list are invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Members"
        ]
      }
    },
    "/groups/{groupId}/members/{accountId}": {
      "post": {
        "operationId": "AddGroupMember",
        "summary": "Add a member to a group",
        "description": "Creates a membership record adding an account to a group with the default member role, requiring update permission on both groups and accounts; the group's members list and the account's groups list are invalidated.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Members"
        ]
      },
      "delete": {
        "operationId": "RemoveGroupMember",
        "summary": "Remove a member from a group",
        "description": "Removes the specified account's membership from the given group, deleting their group membership record entirely; requires read and update permissions on both groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Members"
        ]
      }
    },
    "/groups/{groupId}/moderators": {
      "get": {
        "operationId": "GetGroupModerators",
        "summary": "List a group's moderators",
        "description": "Returns a paginated list of accounts with the \"moderator\" role in the given group, optionally filtered by a search term matching the account's name or email and sorted via orderBy; requires \"read\" permission on groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupMembership"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Moderators"
        ]
      }
    },
    "/groups/{groupId}/moderators/{accountId}": {
      "post": {
        "operationId": "AddGroupModerator",
        "summary": "Promote a group member to moderator",
        "description": "Promotes the specified account to moderator of the given group, creating a moderator-role membership if none exists and clearing any pending join requests or invitations for that account; requires read and update permissions on both groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Moderators"
        ]
      },
      "delete": {
        "operationId": "RemoveGroupModerator",
        "summary": "Demote a group moderator to member",
        "description": "Demotes the specified account from moderator back to a regular member of the given group; requires read and update permissions on both groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Moderators"
        ]
      }
    },
    "/groups/{groupId}/requests": {
      "get": {
        "operationId": "GetGroupRequests",
        "summary": "List a group's join requests",
        "description": "Returns a paginated list of join requests for the given group, filterable by request status (e.g. requested, accepted, rejected) and searchable by requester name or username; requires read access to groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/GroupRequestStatus"
            },
            "description": "Filter by status",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupRequest"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Requests"
        ]
      }
    },
    "/groups/{groupId}/requests/{requestId}": {
      "get": {
        "operationId": "GetGroupRequest",
        "summary": "Get a single group join request",
        "description": "Returns the details of a single request to join the given group by its request ID, including its status (pending, accepted, or rejected); requires \"read\" permission on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "requestId",
            "schema": {
              "type": "string"
            },
            "description": "The request identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupRequest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Requests"
        ]
      },
      "delete": {
        "operationId": "DeleteGroupRequest",
        "summary": "Delete a group join request",
        "description": "Permanently deletes the specified join request for the given group, regardless of its status; requires read and update permissions on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "requestId",
            "schema": {
              "type": "string"
            },
            "description": "The request identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Requests"
        ]
      }
    },
    "/groups/{groupId}/requests/{requestId}/accept": {
      "put": {
        "operationId": "AcceptGroupRequest",
        "summary": "Accept a group join request",
        "description": "Accepts the specified pending join request for the given group, deleting the request and any related invitation, and creating a membership for the requesting account; requires read and update permissions on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "requestId",
            "schema": {
              "type": "string"
            },
            "description": "The request identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupRequest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Requests"
        ]
      }
    },
    "/groups/{groupId}/requests/{requestId}/reject": {
      "put": {
        "operationId": "RejectGroupRequest",
        "summary": "Reject a group join request",
        "description": "Marks the specified pending join request for the given group as rejected without deleting it or creating a membership; requires read and update permissions on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "requestId",
            "schema": {
              "type": "string"
            },
            "description": "The request identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/GroupRequest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Requests"
        ]
      }
    },
    "/groups/{groupId}/sponsors": {
      "get": {
        "operationId": "GetGroupSponsors",
        "summary": "List a group's sponsor accounts",
        "description": "Returns a paginated list of accounts sponsoring the given group, searchable by account name, email, or ID; requires read access to groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Sponsors"
        ]
      }
    },
    "/groups/{groupId}/sponsors/{accountId}": {
      "post": {
        "operationId": "AddGroupSponsor",
        "summary": "Add a sponsor account to a group",
        "description": "Connects the specified account as a sponsor of the given group; requires read and update permissions on both groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Sponsors"
        ]
      },
      "delete": {
        "operationId": "RemoveGroupSponsor",
        "summary": "Remove a sponsor account from a group",
        "description": "Disconnects the specified account as a sponsor of the given group; requires read and update permissions on both groups and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Group"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Sponsors"
        ]
      }
    },
    "/groups/{groupId}/translations": {
      "get": {
        "operationId": "GetGroupTranslations",
        "summary": "List a group's translations",
        "description": "Returns a paginated list of locale translations available for the given group, with optional search and ordering; requires read access to groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/GroupTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Translations"
        ]
      }
    },
    "/groups/{groupId}/translations/{locale}": {
      "get": {
        "operationId": "GetGroupTranslation",
        "summary": "Get a group's translation for a locale",
        "description": "Returns the translated content (e.g. name, description) for the given group in the specified locale, or null if no translation exists; requires read access to groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/GroupTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateGroupTranslation",
        "summary": "Update a group's translation for a locale",
        "description": "Creates or updates the translated content (such as name, description, and images) for the given group in the specified locale; requires read and update permissions on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteGroupTranslation",
        "summary": "Delete a group's translation for a locale",
        "description": "Permanently deletes the translated content for the given group in the specified locale; requires read and update permissions on groups.",
        "parameters": [
          {
            "in": "path",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "The group identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Groups::Translations"
        ]
      }
    },
    "/images": {
      "get": {
        "operationId": "GetImages",
        "summary": "List stored images",
        "description": "Returns a paginated list of the organization's stored images, optionally filtered by image type and searched/ordered; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "schema": {
              "$ref": "#/components/schemas/ImageType"
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ImageWCopyUri"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/delete": {
      "post": {
        "operationId": "DeleteManyImages",
        "summary": "Delete multiple images",
        "description": "Permanently deletes up to 50 images identified by their IDs from storage and the CDN in a single request, requiring delete permission on storage.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyImagesInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/direct-upload": {
      "post": {
        "operationId": "RequestImageDirectUpload",
        "summary": "Request a direct image upload URL",
        "description": "Creates an unconfirmed image record and returns a one-time Cloudflare upload URL so the client can upload the raw image bytes directly, bypassing the API; requires the create and read permissions on the storage module, and the image must be confirmed afterward before it is finalized.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageDirectUploadInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ImageDirectUpload"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/{imageId}": {
      "get": {
        "operationId": "GetImage",
        "summary": "Get an image",
        "description": "Returns the details of a single stored image by ID; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Image"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      },
      "put": {
        "operationId": "UpdateImage",
        "summary": "Update an image's metadata",
        "description": "Updates the name, description, and/or type of an existing image record without altering its underlying file; requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Image"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      },
      "delete": {
        "operationId": "DeleteImage",
        "summary": "Delete an image",
        "description": "Permanently deletes the specified image from storage and the CDN, requiring delete permission on storage.",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/{imageId}/confirm": {
      "post": {
        "operationId": "ConfirmImageUpload",
        "summary": "Confirm a completed direct image upload",
        "description": "Verifies that a previously requested direct upload has finished landing on storage and finalizes the image record, requiring create permission on storage.",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Image"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/{imageId}/switch": {
      "put": {
        "operationId": "SwitchImage",
        "summary": "Replace an image's file contents",
        "description": "Replaces the underlying file for an existing image record with a newly uploaded image (jpeg, png, heic, or heif), re-deriving its dimensions and moderation level while keeping the same image ID; requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "image",
            "schema": {
              "type": "object"
            },
            "description": "Filter by image",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Image"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/images/{imageId}/usage": {
      "get": {
        "operationId": "GetImageUsage",
        "summary": "Get an image's usage",
        "description": "Returns the accounts, events, sessions, and other resources that reference the given image, so it can be checked for usage before deletion; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ImageUsage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Images"
        ]
      }
    },
    "/imports": {
      "get": {
        "operationId": "GetImports",
        "summary": "List bulk import jobs",
        "description": "Returns a paginated list of bulk import jobs for the organization, optionally filtered by tier and searchable by import type; requires organization-level read access.",
        "parameters": [
          {
            "in": "query",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by tierId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Import"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Imports"
        ]
      }
    },
    "/imports/{importId}": {
      "get": {
        "operationId": "GetImport",
        "summary": "Get a single import",
        "description": "Returns the details and status of a single bulk import job by its ID; requires organization-level read access.",
        "parameters": [
          {
            "in": "path",
            "name": "importId",
            "schema": {
              "type": "string"
            },
            "description": "The import identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Import"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Imports"
        ]
      }
    },
    "/imports/{importId}/items": {
      "get": {
        "operationId": "GetImportItems",
        "summary": "List the rows in an import job",
        "description": "Returns a paginated list of individual row items belonging to the given import job, along with each item's processing result, and supports search (e.g. by email for account-tier imports); requires organization-level read access.",
        "parameters": [
          {
            "in": "path",
            "name": "importId",
            "schema": {
              "type": "string"
            },
            "description": "The import identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ImportItemStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ImportItem"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Imports"
        ]
      }
    },
    "/imports/{type}": {
      "post": {
        "operationId": "CreateImport",
        "summary": "Start a bulk data import",
        "description": "Starts an asynchronous import job of the given type (currently \"account-tiers\") that queues each supplied row for background processing, such as assigning a tier to accounts by email, and requires the \"update\" permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "import",
            "schema": {
              "$ref": "#/components/schemas/ImportCreateInputs"
            },
            "description": "Filter by import",
            "required": true
          },
          {
            "in": "query",
            "name": "messageData",
            "schema": {
              "oneOf": [
                {
                  "type": "object"
                },
                {
                  "type": "object"
                }
              ]
            },
            "description": "Filter by messageData",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Import"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Imports"
        ]
      }
    },
    "/interests": {
      "get": {
        "operationId": "GetInterests",
        "summary": "List interests",
        "description": "Returns a paginated, searchable list of interests defined for the organization, filterable by name, and requires the \"read\" permission on interests.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Interest"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      },
      "post": {
        "operationId": "CreateInterest",
        "summary": "Create or fetch an interest",
        "description": "Creates a new interest for the organization with the given name, or returns the existing interest if one with that name already exists, and requires the \"create\" permission on interests.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterestCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Interest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}": {
      "get": {
        "operationId": "GetInterest",
        "summary": "Get an interest",
        "description": "Retrieves a single interest by ID or name for the organization, requiring the \"read\" permission on interests.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Interest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      },
      "put": {
        "operationId": "UpdateInterest",
        "summary": "Update an interest",
        "description": "Updates the details of an existing interest identified by interestId and requires the \"update\" permission on interests.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InterestUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Interest"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      },
      "delete": {
        "operationId": "DeleteInterest",
        "summary": "Delete an interest",
        "description": "Permanently deletes the specified interest from the organization and requires the \"del\" permission on interests.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/accounts": {
      "get": {
        "operationId": "GetInterestAccounts",
        "summary": "List accounts tagged with an interest",
        "description": "Returns a paginated, searchable list of accounts associated with the given interest, filterable by name, email, or ID, and requires the \"read\" permission on both interests and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/activities": {
      "get": {
        "operationId": "GetInterestActivities",
        "summary": "List activity posts tagged with an interest",
        "description": "Returns a paginated, searchable list of activity feed posts associated with the given interest, optionally filtered by activity status, and requires the \"read\" permission on both interests and activities.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ActivityStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Activity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/channels": {
      "get": {
        "operationId": "GetInterestChannels",
        "summary": "List channels tagged with an interest",
        "description": "Returns a paginated, searchable list of channels associated with the given interest, filterable by name, description, or ID, and requires the \"read\" permission on both interests and channels.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Channel"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/contents": {
      "get": {
        "operationId": "GetInterestContents",
        "summary": "List content items tagged with an interest",
        "description": "Returns a paginated, searchable list of content records associated with the given interest, filterable by title, body, or description, and requires the \"read\" permission on both interests and contents.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ChannelContent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/events": {
      "get": {
        "operationId": "GetInterestEvents",
        "summary": "List events tagged with an interest",
        "description": "Returns a paginated, searchable list of non-template events associated with the given interest, and requires the \"read\" permission on both interests and events.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/interests/{interestId}/groups": {
      "get": {
        "operationId": "GetInterestGroups",
        "summary": "List groups tagged with an interest",
        "description": "Returns a paginated, searchable list of groups associated with the given interest, filterable by name or ID, and requires the \"read\" permission on both interests and groups.",
        "parameters": [
          {
            "in": "path",
            "name": "interestId",
            "schema": {
              "type": "string"
            },
            "description": "The interest identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Group"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Interests"
        ]
      }
    },
    "/invoices": {
      "get": {
        "operationId": "GetInvoices",
        "summary": "List invoices",
        "description": "Returns a paginated list of invoices for the organization, optionally filtered by status, account, or event, with search and ordering support; requires the read permission on invoices.",
        "parameters": [
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/InvoiceStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Invoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      },
      "post": {
        "operationId": "CreateInvoice",
        "summary": "Create an invoice",
        "description": "Creates a new invoice for the organization, optionally linked to an account, event, and payment integration, and requires the \"create\" permission on invoices.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoiceId}": {
      "get": {
        "operationId": "GetInvoice",
        "summary": "Get an invoice",
        "description": "Retrieves a single invoice by ID or alternate ID for the organization, including its line items, and requires the \"read\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      },
      "put": {
        "operationId": "UpdateInvoice",
        "summary": "Update an invoice",
        "description": "Updates the fields of an existing, unpaid invoice such as its account, event, payment integration, or status, and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      },
      "delete": {
        "operationId": "DeleteInvoice",
        "summary": "Delete an invoice",
        "description": "Permanently deletes the specified invoice from the organization and requires the \"delete\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoiceId}/items": {
      "get": {
        "operationId": "GetInvoiceLineItems",
        "summary": "List an invoice's line items",
        "description": "Returns a paginated list of line items belonging to the given invoice, with optional search across item name and description and ordering; requires the read permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InvoiceLineItem"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      },
      "post": {
        "operationId": "CreateInvoiceLineItem",
        "summary": "Add a line item to an invoice",
        "description": "Adds a new line item to the specified invoice, which must currently be in \"draft\" status, and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceLineItemCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InvoiceLineItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices::Lineitems"
        ]
      }
    },
    "/invoices/{invoiceId}/items/{lineItemId}": {
      "get": {
        "operationId": "GetInvoiceLineItem",
        "summary": "Get an invoice line item",
        "description": "Retrieves a single line item belonging to the given invoice by its ID, and requires the \"read\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "lineItemId",
            "schema": {
              "type": "string"
            },
            "description": "The lineItem identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InvoiceLineItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      },
      "put": {
        "operationId": "UpdateInvoiceLineItem",
        "summary": "Update an invoice line item",
        "description": "Updates the fields of an existing line item on the specified invoice, which must currently be in \"draft\" status, and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "lineItemId",
            "schema": {
              "type": "string"
            },
            "description": "The lineItem identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InvoiceLineItemUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/InvoiceLineItem"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices::Lineitems"
        ]
      },
      "delete": {
        "operationId": "DeleteInvoiceLineItem",
        "summary": "Remove a line item from an invoice",
        "description": "Deletes a specific line item from the given invoice, which cannot already be in \"paid\" status, and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "lineItemId",
            "schema": {
              "type": "string"
            },
            "description": "The lineItem identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices::Lineitems"
        ]
      }
    },
    "/invoices/{invoiceId}/payments": {
      "get": {
        "operationId": "GetInvoicePayments",
        "summary": "List an invoice's payments",
        "description": "Returns a paginated list of payments recorded against the given invoice, with optional search and ordering; requires the read permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoiceId}/send": {
      "put": {
        "operationId": "SendInvoice",
        "summary": "Send an invoice",
        "description": "Marks a draft or void invoice as sent, requiring it to already have an account and at least one line item, and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      }
    },
    "/invoices/{invoiceId}/void": {
      "put": {
        "operationId": "VoidInvoice",
        "summary": "Void an invoice",
        "description": "Marks a previously sent invoice as void, which is only allowed while the invoice's status is \"sent\", and requires the \"update\" permission on invoices.",
        "parameters": [
          {
            "in": "path",
            "name": "invoiceId",
            "schema": {
              "type": "string"
            },
            "description": "The invoice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Invoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Invoices"
        ]
      }
    },
    "/levels": {
      "get": {
        "operationId": "GetLevels",
        "summary": "List sponsorship levels",
        "description": "Returns a paginated list of the organization's sponsorship levels, with support for search and ordering; requires \"read\" permission on \"sponsors\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Level"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors"
        ]
      },
      "post": {
        "operationId": "CreateLevel",
        "summary": "Create a sponsorship level",
        "description": "Creates a new sponsorship level for the organization from the provided details, requiring create permission on sponsors.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LevelCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Level"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors"
        ]
      }
    },
    "/levels/{levelId}": {
      "put": {
        "operationId": "UpdateLevel",
        "summary": "Update a sponsorship level",
        "description": "Updates the details of an existing sponsorship level, such as its name, pricing, or benefits, requiring update permission on sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LevelUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Level"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors"
        ]
      },
      "delete": {
        "operationId": "DeleteLevel",
        "summary": "Delete a sponsorship level",
        "description": "Permanently deletes the specified sponsorship level from the organization, requiring delete permission on sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors"
        ]
      }
    },
    "/levels/{levelId}/accounts": {
      "get": {
        "operationId": "GetLevelAccounts",
        "summary": "List accounts on a sponsorship level",
        "description": "Returns a paginated list of accounts (sponsors) assigned to a sponsorship level, supporting search, and requires read access to both sponsors and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Accounts"
        ]
      }
    },
    "/levels/{levelId}/accounts/{accountId}": {
      "post": {
        "operationId": "AddLevelAccount",
        "summary": "Add a sponsor account to a sponsorship level",
        "description": "Attaches an account as a sponsor at the given sponsorship level, requiring \"read\" and \"update\" permission on both sponsors and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Level"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Accounts"
        ]
      },
      "delete": {
        "operationId": "RemoveLevelAccount",
        "summary": "Remove an account from a sponsorship level",
        "description": "Removes the given account as a sponsor from the specified sponsorship level and returns the updated level; requires update permission on both sponsors and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Level"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Accounts"
        ]
      }
    },
    "/levels/{levelId}/translations": {
      "get": {
        "operationId": "GetLevelTranslations",
        "summary": "List a sponsorship level's translations",
        "description": "Returns a paginated list of locale translations for the given sponsorship level, supporting search and ordering; requires \"read\" permission on \"sponsors\".",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SponsorshipLevelTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Translations"
        ]
      }
    },
    "/levels/{levelId}/translations/{locale}": {
      "get": {
        "operationId": "GetLevelTranslation",
        "summary": "Get a sponsorship level translation",
        "description": "Returns the translated content for a sponsorship level in the given locale, or null if no translation exists, and requires read access to sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SponsorshipLevelTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateLevelTranslation",
        "summary": "Update a sponsorship level translation",
        "description": "Creates or updates the localized name and description for a sponsorship level in the given locale, requiring update permission on sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LevelTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteLevelTranslation",
        "summary": "Delete a sponsorship level translation",
        "description": "Removes the translation for the given locale on the specified sponsorship level, requiring update permission on sponsors.",
        "parameters": [
          {
            "in": "path",
            "name": "levelId",
            "schema": {
              "type": "string"
            },
            "description": "The level identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors::Translations"
        ]
      }
    },
    "/levels/{sponsorshipLevelId}": {
      "get": {
        "operationId": "GetLevel",
        "summary": "Get a sponsorship level",
        "description": "Returns the details of a single sponsorship level by ID; requires \"read\" permission on \"sponsors\".",
        "parameters": [
          {
            "in": "path",
            "name": "sponsorshipLevelId",
            "schema": {
              "type": "string"
            },
            "description": "The sponsorshipLevel identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Level"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Sponsors"
        ]
      }
    },
    "/logins": {
      "get": {
        "operationId": "GetLogins",
        "summary": "List logins",
        "description": "Returns a paginated list of logins for the organization, optionally filtered by linked account and with search and ordering support; requires the read permission on accounts.",
        "parameters": [
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Login"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}": {
      "get": {
        "operationId": "GetLogin",
        "summary": "Get a single login",
        "description": "Returns the login record identified by username, including its profile and status details; requires the read permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      },
      "delete": {
        "operationId": "DeleteLogin",
        "summary": "Delete a login",
        "description": "Permanently deletes the login with the given username, removing both its Cognito user and its database record, and requires the \"delete\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}/accounts": {
      "get": {
        "operationId": "GetLoginAccounts",
        "summary": "List a login's linked accounts",
        "description": "Returns a paginated list of accounts associated with the given login username, with optional search and ordering; requires the read permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins::Accounts"
        ]
      }
    },
    "/logins/{username}/accounts/{accountId}": {
      "post": {
        "operationId": "AddLoginAccount",
        "summary": "Link an account to a login",
        "description": "Connects the specified account to the given login username so the login can access that account, and requires the \"update\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins::Accounts"
        ]
      },
      "delete": {
        "operationId": "RemoveLoginAccount",
        "summary": "Unlink an account from a login",
        "description": "Disconnects the specified account from the given login username, revoking that login's access to the account, and requires the \"update\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "The account identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins::Accounts"
        ]
      }
    },
    "/logins/{username}/auth-sessions": {
      "get": {
        "operationId": "GetLoginAuthSessions",
        "summary": "List a login's auth sessions",
        "description": "Returns a paginated list of authentication sessions for the given login username, with optional search and ordering; requires the read permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AuthSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}/confirm": {
      "put": {
        "operationId": "ConfirmLogin",
        "summary": "Confirm a login",
        "description": "Manually confirms the Cognito user for the given login username and marks its email as verified, bypassing the normal self-service confirmation flow, and requires the \"update\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}/devices": {
      "get": {
        "operationId": "GetLoginDevices",
        "summary": "List a login's push devices",
        "description": "Returns a paginated list of registered push notification devices for the given login username, with optional search and ordering; requires the read permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BasePushDevice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}/email": {
      "put": {
        "operationId": "UpdateLoginEmail",
        "summary": "Update a login's email",
        "description": "Changes the email address for the given login username in both the database and Cognito, marking the new email as verified, and requires the \"update\" permission on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logins/{username}/password": {
      "put": {
        "operationId": "UpdateLoginPassword",
        "summary": "Set a login's password",
        "description": "Sets a permanent new password for the Cognito login identified by username, requiring both read and update permissions on accounts; existing logins and login/logins list caches are invalidated on success.",
        "parameters": [
          {
            "in": "path",
            "name": "username",
            "schema": {
              "type": "string"
            },
            "description": "The username identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "password": {
                    "type": "string"
                  }
                },
                "required": [
                  "password"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Login"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Logins"
        ]
      }
    },
    "/logs/api": {
      "get": {
        "operationId": "GetAPILogs",
        "summary": "List API request logs",
        "description": "Returns a paginated list of API request log entries for the organization within a date range, optionally filtered by HTTP method, status, source, user, or account, with search and ordering support; requires read permission on logs.",
        "parameters": [
          {
            "in": "query",
            "name": "startDate",
            "schema": {
              "type": "string"
            },
            "description": "Filter by startDate",
            "required": true
          },
          {
            "in": "query",
            "name": "endDate",
            "schema": {
              "type": "string"
            },
            "description": "Filter by endDate",
            "required": true
          },
          {
            "in": "query",
            "name": "method",
            "schema": {
              "type": "string"
            },
            "description": "Filter by method",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string",
              "enum": [
                "success",
                "failed"
              ]
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            },
            "description": "Filter by source",
            "required": false
          },
          {
            "in": "query",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by userId",
            "required": false
          },
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseAPILog"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "ApiLogs"
        ]
      }
    },
    "/logs/api/{logId}": {
      "get": {
        "operationId": "GetAPILog",
        "summary": "Get an API request log entry",
        "description": "Returns the details of a single API request log entry by its ID, including request/response metadata; requires read permission on logs.",
        "parameters": [
          {
            "in": "path",
            "name": "logId",
            "schema": {
              "type": "string"
            },
            "description": "The log identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/APILog"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "ApiLogs"
        ]
      }
    },
    "/logs/auth-sessions": {
      "get": {
        "operationId": "GetAuthSessions",
        "summary": "List authentication sessions",
        "description": "Returns a paginated list of user authentication (login) sessions logged for the organization, supporting search and ordering; requires \"read\" permission on \"logs\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AuthSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "AuthSessions"
        ]
      }
    },
    "/logs/auth-sessions/{authSessionId}": {
      "get": {
        "operationId": "GetAuthSession",
        "summary": "Get an authentication session log entry",
        "description": "Returns the details of a single authentication session log entry by its ID; requires read permission on logs.",
        "parameters": [
          {
            "in": "path",
            "name": "authSessionId",
            "schema": {
              "type": "string"
            },
            "description": "The authSession identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AuthSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "AuthSessions"
        ]
      }
    },
    "/logs/email-receipts": {
      "get": {
        "operationId": "GetEmailReceipts",
        "summary": "List email receipts",
        "description": "Returns a paginated list of logged email receipts for the organization, optionally filtered by delivery status and searched by keyword; requires read permission on logs.",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/EmailReceiptStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseEmailReceipt"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "EmailReceipts"
        ]
      }
    },
    "/logs/email-receipts/{emailReceiptId}": {
      "get": {
        "operationId": "GetEmailReceipt",
        "summary": "Get an email receipt",
        "description": "Returns a single logged email receipt by ID, including its delivery status; requires read permission on logs.",
        "parameters": [
          {
            "in": "path",
            "name": "emailReceiptId",
            "schema": {
              "type": "string"
            },
            "description": "The emailReceipt identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/EmailReceipt"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "EmailReceipts"
        ]
      }
    },
    "/meetings": {
      "get": {
        "operationId": "GetMeetings",
        "summary": "List meetings",
        "description": "Returns a paginated list of meetings for the organization, supports search and requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseMeeting"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      },
      "post": {
        "operationId": "CreateMeeting",
        "summary": "Create a meeting",
        "description": "Creates a new video meeting for the organization, optionally linked to an event, event session, group, activity, or booking space, and configured with recording, chat, livestream, and AI settings, requiring the \"create\" permission on meetings.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Meeting"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      }
    },
    "/meetings/livestreams": {
      "get": {
        "operationId": "GetLivestreams",
        "summary": "List livestreams",
        "description": "Returns a paginated list of livestreams for the organization's meetings app, supporting page, pageSize, orderBy, and search parameters; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Livestream"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/livestreams/{livestreamId}": {
      "get": {
        "operationId": "GetLivestream",
        "summary": "Get a livestream",
        "description": "Returns details for a single livestream by ID, including its Cloudflare RealtimeKit status and stream key; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "livestreamId",
            "schema": {
              "type": "string"
            },
            "description": "The livestream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/livestreams/{livestreamId}/disable": {
      "post": {
        "operationId": "DisableLivestream",
        "summary": "Disable a livestream",
        "description": "Disables the livestream identified by livestreamId so it can no longer ingest or broadcast, requiring both read and create permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "livestreamId",
            "schema": {
              "type": "string"
            },
            "description": "The livestream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/livestreams/{livestreamId}/enable": {
      "post": {
        "operationId": "EnableLivestream",
        "summary": "Enable a livestream",
        "description": "Enables the livestream identified by livestreamId so it can begin ingesting and broadcasting, requiring both read and create permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "livestreamId",
            "schema": {
              "type": "string"
            },
            "description": "The livestream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/livestreams/{livestreamId}/reset-stream-key": {
      "post": {
        "operationId": "ResetLivestreamStreamKey",
        "summary": "Reset a livestream's stream key",
        "description": "Rotates the ingest stream key for the livestream identified by livestreamId, invalidating the previous key, and requires both read and create permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "livestreamId",
            "schema": {
              "type": "string"
            },
            "description": "The livestream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/livestreams/{livestreamId}/sessions": {
      "get": {
        "operationId": "GetLivestreamSessions",
        "summary": "List a livestream's sessions",
        "description": "Returns a paginated list of sessions that occurred on the given livestream, supporting page and pageSize parameters; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "livestreamId",
            "schema": {
              "type": "string"
            },
            "description": "The livestream identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/LivestreamSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Livestreams"
        ]
      }
    },
    "/meetings/presets": {
      "get": {
        "operationId": "GetPresets",
        "summary": "List meeting presets",
        "description": "Returns a paginated list of meeting presets defined for the organization's meetings app, supporting page, pageSize, and orderBy parameters; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Preset"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Presets"
        ]
      },
      "post": {
        "operationId": "CreatePreset",
        "summary": "Create a meeting preset",
        "description": "Creates a reusable meeting configuration preset (e.g. default recording, chat, and AI settings) for the organization, requiring the \"create\" permission on meetings.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingPresetCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Preset"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Presets"
        ]
      }
    },
    "/meetings/presets/{presetId}": {
      "get": {
        "operationId": "GetPreset",
        "summary": "Get a meeting preset",
        "description": "Returns details for a single meeting preset, an app-level resource defining participant roles, permissions, media settings, and UI configuration; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "presetId",
            "schema": {
              "type": "string"
            },
            "description": "The preset identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Preset"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Presets"
        ]
      },
      "put": {
        "operationId": "UpdatePreset",
        "summary": "Update a meeting preset",
        "description": "Updates the configuration of an existing meeting preset by ID, requiring the \"update\" permission on meetings, and refreshes the cached preset data.",
        "parameters": [
          {
            "in": "path",
            "name": "presetId",
            "schema": {
              "type": "string"
            },
            "description": "The preset identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingPresetUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Preset"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Presets"
        ]
      },
      "delete": {
        "operationId": "DeletePreset",
        "summary": "Delete a meeting preset",
        "description": "Permanently deletes a meeting configuration preset by ID, requiring the \"delete\" permission on meetings, and removes it from the cached preset list.",
        "parameters": [
          {
            "in": "path",
            "name": "presetId",
            "schema": {
              "type": "string"
            },
            "description": "The preset identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Presets"
        ]
      }
    },
    "/meetings/recordings": {
      "get": {
        "operationId": "GetMeetingRecordings",
        "summary": "List meeting recordings",
        "description": "Returns a paginated list of meeting recordings for the organization, optionally filtered to a specific meeting via meetingId and narrowed with search, page, pageSize, and orderBy parameters; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "query",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by meetingId",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MeetingRecording"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Recordings"
        ]
      }
    },
    "/meetings/recordings/{recordingId}": {
      "get": {
        "operationId": "GetMeetingRecording",
        "summary": "Get a meeting recording",
        "description": "Returns details for a single meeting recording by ID, including its storage location and status; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "recordingId",
            "schema": {
              "type": "string"
            },
            "description": "The recording identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingRecording"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Recordings"
        ]
      }
    },
    "/meetings/sessions": {
      "get": {
        "operationId": "GetMeetingSessions",
        "summary": "List meeting sessions",
        "description": "Returns a paginated list of meeting sessions across the organization, optionally filtered to a single meeting via meetingId and by search term, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "query",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by meetingId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MeetingSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}": {
      "get": {
        "operationId": "GetMeetingSession",
        "summary": "Get a meeting session",
        "description": "Returns details for a single meeting session by ID, representing one occurrence/run of a meeting; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/messages": {
      "get": {
        "operationId": "GetMeetingSessionMessages",
        "summary": "Download a meeting session's chat messages",
        "description": "Returns a downloadable transcript of the in-meeting chat messages sent during the given meeting session, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSessionChatDownload"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/participants": {
      "get": {
        "operationId": "GetMeetingSessionParticipants",
        "summary": "List a meeting session's participants",
        "description": "Returns a paginated list of participants who joined the given meeting session, with each participant's linked account attached when they are a known user, supports search and requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseMeetingSessionParticipant"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/participants/{participantId}": {
      "get": {
        "operationId": "GetMeetingSessionParticipant",
        "summary": "Get a meeting session participant",
        "description": "Returns the details of a single participant within a specific meeting session, including their linked account information when the participant is a known user, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSessionParticipant"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/participants/{participantId}/report": {
      "get": {
        "operationId": "GetMeetingSessionParticipantReport",
        "summary": "Get a meeting session participant's call-quality report",
        "description": "Returns the call-quality report for one of a participant's connections (peers) within a meeting session: device, browser, location and connectivity details, per-stream quality roll-ups (audio, video and screenshare, sent and received), a plain-language list of detected issues, downsampled time series for charting, and a timeline of connection and device events. A participant who reconnected owns several peers; the response lists them under summary.connections and defaults to the longest-lived one unless peerId is given. Requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "peerId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by peerId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSessionParticipantReport"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/summary": {
      "get": {
        "operationId": "GetMeetingSessionSummary",
        "summary": "Get a meeting session's AI-generated summary",
        "description": "Returns the AI-generated summary for the given meeting session, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSessionSummaryDownload"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      },
      "post": {
        "operationId": "GenerateMeetingSessionSummary",
        "summary": "Generate a meeting session summary",
        "description": "Kicks off AI-generated summary creation for a completed meeting session using its transcript, requiring the \"create\" permission on meetings, and errors if the session has no transcript yet.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/sessions/{sessionId}/transcript": {
      "get": {
        "operationId": "GetMeetingSessionTranscript",
        "summary": "Download a meeting session's transcript",
        "description": "Returns the speech-to-text transcript recorded for the given meeting session, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingSessionTranscriptDownload"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Sessions"
        ]
      }
    },
    "/meetings/{meetingId}": {
      "get": {
        "operationId": "GetMeeting",
        "summary": "Get a meeting",
        "description": "Returns the details of a single meeting by its ID, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Meeting"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      },
      "put": {
        "operationId": "UpdateMeeting",
        "summary": "Update a meeting",
        "description": "Updates the settings of an existing meeting, such as its title, recording, chat, livestream, or AI configuration, requiring the \"update\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Meeting"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      }
    },
    "/meetings/{meetingId}/join": {
      "get": {
        "operationId": "JoinMeeting",
        "summary": "Join a meeting as the current admin",
        "description": "Generates a join token for the authenticated admin user to enter the given meeting as a participant, requiring the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      }
    },
    "/meetings/{meetingId}/links": {
      "get": {
        "operationId": "GetMeetingLinks",
        "summary": "List a meeting's join links",
        "description": "Returns a paginated list of join links configured for the given meeting, with optional search by name; requires the read permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MeetingLink"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Links"
        ]
      },
      "post": {
        "operationId": "CreateMeetingLink",
        "summary": "Create a shareable meeting link",
        "description": "Creates a passcode-protected shareable join link for a meeting, auto-generating a unique passcode and associating the given name and preset; requires create and read permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingLinkCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingLink"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Links"
        ]
      }
    },
    "/meetings/{meetingId}/links/{linkId}": {
      "get": {
        "operationId": "GetMeetingLink",
        "summary": "Get a single meeting link",
        "description": "Returns the details of one join link for the given meeting, including its passcode and configuration; requires the read permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "linkId",
            "schema": {
              "type": "string"
            },
            "description": "The link identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingLink"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Links"
        ]
      },
      "put": {
        "operationId": "UpdateMeetingLink",
        "summary": "Update a meeting link",
        "description": "Updates the name, preset, or auth requirement of an existing shareable meeting link identified by linkId, requiring both read and update permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "linkId",
            "schema": {
              "type": "string"
            },
            "description": "The link identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingLinkUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingLink"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Links"
        ]
      },
      "delete": {
        "operationId": "DeleteMeetingLink",
        "summary": "Delete a meeting link",
        "description": "Permanently deletes a shareable meeting link identified by linkId from the given meeting, requiring both read and delete permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "linkId",
            "schema": {
              "type": "string"
            },
            "description": "The link identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Links"
        ]
      }
    },
    "/meetings/{meetingId}/livestream": {
      "get": {
        "operationId": "GetMeetingLivestream",
        "summary": "Get a meeting's livestream",
        "description": "Returns the livestream configuration associated with the given meeting, requires the \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      },
      "post": {
        "operationId": "AddMeetingLivestream",
        "summary": "Add a livestream to a meeting",
        "description": "Creates and attaches a new livestream to the given meeting so it can be broadcast, requiring the \"create\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Livestream"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings"
        ]
      }
    },
    "/meetings/{meetingId}/participants": {
      "get": {
        "operationId": "GetMeetingParticipants",
        "summary": "List a meeting's participants",
        "description": "Returns a paginated list of participants for the given meeting, each enriched with the linked account when the participant is not a guest, supporting page and pageSize parameters; requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/MeetingParticipant"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      },
      "post": {
        "operationId": "CreateMeetingParticipant",
        "summary": "Add a participant to a meeting",
        "description": "Adds a participant to the given meeting, assigning a role preset based on the meeting type and requester's admin status, and returns the participant along with a join token; requires read and create permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingParticipantCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      }
    },
    "/meetings/{meetingId}/participants/{participantId}": {
      "get": {
        "operationId": "GetMeetingParticipant",
        "summary": "Get a meeting participant",
        "description": "Returns details for a single participant in a meeting, including their peer ID, display name, join/leave times, and linked account (if not a guest); requires \"read\" permission on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingParticipant"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      },
      "put": {
        "operationId": "UpdateMeetingParticipant",
        "summary": "Update a meeting participant",
        "description": "Updates fields (such as name or role) on an existing participant of a meeting, requires the \"update\" permission on meetings, and refreshes the cached participant and participant list.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MeetingParticipantUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/MeetingParticipant"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      },
      "delete": {
        "operationId": "DeleteMeetingParticipant",
        "summary": "Remove a participant from a meeting",
        "description": "Removes the participant identified by participantId from the given meeting, revoking their access, and requires both read and delete permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      }
    },
    "/meetings/{meetingId}/participants/{participantId}/regenerate": {
      "post": {
        "operationId": "RegenerateMeetingParticipantToken",
        "summary": "Regenerate a participant's join token",
        "description": "Issues a new authentication token for the participant identified by participantId in the given meeting, invalidating their previous token, and requires both read and create permissions on meetings.",
        "parameters": [
          {
            "in": "path",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "The meeting identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "participantId",
            "schema": {
              "type": "string"
            },
            "description": "The participant identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Meetings::Participants"
        ]
      }
    },
    "/notifications": {
      "get": {
        "operationId": "GetNotifications",
        "summary": "List the current member's notifications",
        "description": "Returns a paginated list of notifications for the authenticated organization member, filterable by read status, source, type, and search term; available to any authenticated organization member for their own notifications.",
        "parameters": [
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/NotificationFilters"
            },
            "description": "Filter by filters",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AdminNotification"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Notifications"
        ]
      }
    },
    "/notifications/count": {
      "get": {
        "operationId": "GetNotificationCount",
        "summary": "Count the caller's notifications",
        "description": "Returns the number of notifications for the current organization member, optionally filtered by read/unread status, source, or notification type, no special permission is required beyond authentication since results are scoped to the caller.",
        "parameters": [
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/NotificationFilters"
            },
            "description": "Filter by filters",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Notifications"
        ]
      }
    },
    "/notifications/read": {
      "put": {
        "operationId": "MarkNotificationsRead",
        "summary": "Mark notifications as read",
        "description": "Marks the given list of notification IDs as read for the current organization member and returns the count of notifications updated.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "notificationIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "notificationIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Notifications"
        ]
      }
    },
    "/notifications/stats": {
      "get": {
        "operationId": "GetNotificationStats",
        "summary": "Get notification statistics",
        "description": "Returns aggregate notification statistics for the authenticated organization member, including total and unread counts broken down by notification type and source; available to any authenticated organization member for their own notifications.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/NotificationStats"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Notifications"
        ]
      }
    },
    "/organization": {
      "get": {
        "operationId": "GetOrganization",
        "summary": "Get the organization profile",
        "description": "Returns the current organization's profile; open to any authenticated caller with no specific permission required.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Organization"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      },
      "put": {
        "operationId": "UpdateOrganization",
        "summary": "Update the organization's profile",
        "description": "Updates the current organization's core profile fields (such as name, contact details, and locales) and returns the updated organization record; requires update permission on the organization.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Organization"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/attributes": {
      "get": {
        "operationId": "GetOrganizationAccountAttributes",
        "summary": "List account attribute definitions",
        "description": "Returns a paginated list of custom account attribute definitions configured for the organization, filterable by search term and sortable via orderBy; requires read access to the organization.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AccountAttribute"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      },
      "post": {
        "operationId": "CreateAccountAttribute",
        "summary": "Create an account attribute",
        "description": "Creates a new custom account attribute definition for the organization, automatically assigning or shifting sortOrder among existing attributes, and requires the \"update\" permission on \"org\".",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAttributeCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      }
    },
    "/organization/attributes/dashboard": {
      "get": {
        "operationId": "GetDashboardAttributes",
        "summary": "List account attributes shown on dashboards",
        "description": "Returns the account attributes flagged to appear in dashboard widgets that have at least one non-empty value, excluding location-type attributes, optionally filtered by a search term; requires read access to the organization and to dashboards.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AccountAttribute"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      }
    },
    "/organization/attributes/required": {
      "get": {
        "operationId": "GetRequiredAttributes",
        "summary": "List required account attributes",
        "description": "Returns the account attributes marked as required that have at least one non-empty value, optionally filtered by a search term; requires read access to the organization and to dashboards.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/AccountAttribute"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      }
    },
    "/organization/attributes/{attributeId}": {
      "get": {
        "operationId": "GetOrganizationAccountAttribute",
        "summary": "Get an account attribute definition",
        "description": "Returns the details of a single custom account attribute definition for the organization, identified by attribute ID; requires read access to the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      },
      "put": {
        "operationId": "UpdateAccountAttribute",
        "summary": "Update an account attribute",
        "description": "Updates the properties of an existing account attribute, such as its label, type, options, or sortOrder (re-sequencing other attributes as needed), and requires the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountAttributeUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AccountAttribute"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      },
      "delete": {
        "operationId": "DeleteAccountAttribute",
        "summary": "Delete an account attribute",
        "description": "Permanently deletes the specified custom account attribute from the organization and re-sequences the sortOrder of the remaining attributes, requiring the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "attributeId",
            "schema": {
              "type": "string"
            },
            "description": "The attribute identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Attributes"
        ]
      }
    },
    "/organization/domain": {
      "get": {
        "operationId": "GetOrganizationDomain",
        "summary": "Get the organization's custom domain",
        "description": "Returns the custom domain configured for the organization along with its verification/DNS status from the hosting provider, or null if no domain is configured; requires read access to the organization.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/DomainDetails"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Domains"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationDomain",
        "summary": "Set the organization's custom domain",
        "description": "Configures a custom domain for the organization by registering it (and its www subdomain, unless it is itself a subdomain) with Vercel, then saves the domain on the organization record; fails if a domain is already set or the domain is invalid, and requires the \"update\" permission on \"org\".",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string"
                  }
                },
                "required": [
                  "domain"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/DomainDetails"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Domains"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationDomain",
        "summary": "Remove the organization's custom domain",
        "description": "Removes the organization's configured custom domain, deleting the associated records (including any www subdomain) from Vercel and clearing the domain on the organization; requires the \"update\" permission on \"org\".",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Domains"
        ]
      }
    },
    "/organization/entities": {
      "get": {
        "operationId": "GetOrganizationEntities",
        "summary": "List an organization's legal entities",
        "description": "Returns a paginated, searchable list of the legal entities that sell on behalf of the organization, each carrying its registered address and VAT registration.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationEntity"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      },
      "post": {
        "operationId": "CreateOrganizationEntity",
        "summary": "Create an organization legal entity",
        "description": "Creates a legal entity that can sell on behalf of the organization, carrying its own registered address and VAT registration. The entity is not made primary on creation - use the set-primary route for that.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationEntityCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationEntity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      }
    },
    "/organization/entities/{entityId}": {
      "get": {
        "operationId": "GetOrganizationEntity",
        "summary": "Get an organization legal entity",
        "description": "Retrieves a single legal entity by ID, including its registered address and VAT registration details.",
        "parameters": [
          {
            "in": "path",
            "name": "entityId",
            "schema": {
              "type": "string"
            },
            "description": "The entity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationEntity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationEntity",
        "summary": "Update an organization legal entity",
        "description": "Updates the identity, registered address or VAT registration of a legal entity. Primary status cannot be changed here - use the set-primary route.",
        "parameters": [
          {
            "in": "path",
            "name": "entityId",
            "schema": {
              "type": "string"
            },
            "description": "The entity identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationEntityUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationEntity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationEntity",
        "summary": "Delete an organization legal entity",
        "description": "Permanently deletes a legal entity. The organization's primary entity can never be deleted - set another entity as primary first, which is also why an organization always retains at least one entity.",
        "parameters": [
          {
            "in": "path",
            "name": "entityId",
            "schema": {
              "type": "string"
            },
            "description": "The entity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      }
    },
    "/organization/entities/{entityId}/primary": {
      "post": {
        "operationId": "SetPrimaryOrganizationEntity",
        "summary": "Set an organization legal entity as primary",
        "description": "Marks the specified entity as the organization's primary selling entity, clearing primary status from whichever entity held it before. This is the fallback entity used when an event has no entity of its own.",
        "parameters": [
          {
            "in": "path",
            "name": "entityId",
            "schema": {
              "type": "string"
            },
            "description": "The entity identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationEntity"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Entities"
        ]
      }
    },
    "/organization/integrations": {
      "get": {
        "operationId": "GetIntegrations",
        "summary": "List an organization's integrations",
        "description": "Returns a paginated list of third-party integrations configured for the organization, with any stored secrets masked, sortable via orderBy; requires read access to the organization.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Integration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Integrations"
        ]
      },
      "post": {
        "operationId": "CreateIntegration",
        "summary": "Create an organization integration",
        "description": "Creates a new third-party integration (e.g. Snagtag) for the organization, storing any provided secret key securely in AWS Secrets Manager; fails if an integration of that type already exists, and requires the \"update\" permission on \"org\".",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Integrations"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationIntegrations",
        "summary": "Update the organization's Ghost CMS integration",
        "description": "Enables or disables the organization's Ghost blog integration and stores its connection settings (site URL, admin API key, content API key) so published Ghost content can be surfaced in the platform.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "ghost": {
                    "type": "boolean"
                  },
                  "ghostUrl": {
                    "type": "string"
                  },
                  "ghostAdminKey": {
                    "type": "string"
                  },
                  "ghostContentKey": {
                    "type": "string"
                  }
                },
                "required": [
                  "ghost",
                  "ghostUrl"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/integrations/{integrationId}": {
      "get": {
        "operationId": "GetIntegration",
        "summary": "Get an organization integration",
        "description": "Returns the details of a single third-party integration configured for the organization, identified by integration ID, with any stored secret masked; requires read access to the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Integrations"
        ]
      },
      "put": {
        "operationId": "UpdateIntegration",
        "summary": "Update an organization integration",
        "description": "Updates an existing integration's settings, such as enabled state, public URL, public key, or secret key (re-stored in AWS Secrets Manager), and requires the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IntegrationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Integration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Integrations"
        ]
      },
      "delete": {
        "operationId": "DeleteIntegration",
        "summary": "Delete an organization integration",
        "description": "Deletes the specified integration configured for the organization, also removing its stored secret from AWS Secrets Manager if one exists, and requires the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Integrations"
        ]
      }
    },
    "/organization/language-overrides": {
      "get": {
        "operationId": "GetOrganizationLanguageOverrides",
        "summary": "List an organization's language overrides",
        "description": "Returns a paginated list of the organization's i18n string overrides grouped by key, each with its per-locale values; searchable by key. Requires org read permission.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationLanguageOverride"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Languageoverrides"
        ]
      },
      "put": {
        "operationId": "UpsertOrganizationLanguageOverride",
        "summary": "Create or update a language override",
        "description": "Upserts the organization's i18n string override for a key across all supplied locale values in a single request, requires the update org permission, and refreshes the language overrides list on success.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationLanguageOverrideUpsertInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Languageoverrides"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationLanguageOverride",
        "summary": "Delete a language override",
        "description": "Deletes the organization's i18n string override for the given key across all locales (key sent as a query parameter since keys can contain spaces), requires the update org permission, and refreshes the language overrides list on success.",
        "parameters": [
          {
            "in": "query",
            "name": "key",
            "schema": {
              "type": "string"
            },
            "description": "Filter by key",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Languageoverrides"
        ]
      }
    },
    "/organization/link-preview": {
      "put": {
        "operationId": "UpsertLinkPreview",
        "summary": "Generate or refresh a link preview",
        "description": "Fetches (or returns a cached, up to 7 days old) title, description, image, and site metadata for the given URL, storing the result so it can be reused when rendering link previews.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "href": {
                    "type": "string"
                  }
                },
                "required": [
                  "href"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/LinkPreview"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/module-settings": {
      "get": {
        "operationId": "GetOrganizationModuleSettings",
        "summary": "Get an organization's module settings",
        "description": "Returns the organization's cross-module configuration (e.g. meeting call/webinar/livestream presets and support auto-resolve behavior), creating default settings if none exist yet; requires org read permission.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModuleSettings"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationModuleSettings",
        "summary": "Update organization module settings",
        "description": "Upserts the organization's module settings with the provided fields, creating the settings record if it does not yet exist, and requires the update org permission.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationModuleSettingsUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModuleSettings"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings"
        ]
      }
    },
    "/organization/module-settings/translations": {
      "get": {
        "operationId": "GetOrganizationModuleSettingsTranslations",
        "summary": "List an organization's module settings translations",
        "description": "Returns a paginated list of the organization's module settings translations across locales, supporting search and ordering; requires org read permission.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationModuleSettingsTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings::Translations"
        ]
      }
    },
    "/organization/module-settings/translations/{locale}": {
      "get": {
        "operationId": "GetOrganizationModuleSettingsTranslation",
        "summary": "Get a module settings translation",
        "description": "Returns the organization's module settings translation (e.g. localized support auto-resolve message) for the specified locale; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/OrganizationModuleSettingsTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationModuleSettingsTranslation",
        "summary": "Create or update a module settings translation",
        "description": "Upserts the organization's module settings translation for the given locale with the provided fields, requires the update org permission, and refreshes the translations list and that locale's cached entry on success.",
        "parameters": [
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationModuleSettingsTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationModuleSettingsTranslation",
        "summary": "Delete a module settings translation",
        "description": "Deletes the organization's module settings translation for the given locale, requires the update org permission, and invalidates the translations list and that locale's cached entry on success.",
        "parameters": [
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Settings::Translations"
        ]
      }
    },
    "/organization/modules": {
      "get": {
        "operationId": "GetOrganizationModules",
        "summary": "List an organization's module configurations",
        "description": "Returns the enablement configuration for every feature module type on the organization, filling in default values (enabled, no tier restrictions) for module types that have no explicit record yet; requires org read permission.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationModule"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules"
        ]
      }
    },
    "/organization/modules/custom": {
      "get": {
        "operationId": "GetCustomModules",
        "summary": "List an organization's custom modules",
        "description": "Returns a paginated list of the organization's custom modules (custom navigation links/apps with a name, URL, icon, and color), supporting search and ordering by sort order; requires org read permission.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CustomModule"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom"
        ]
      },
      "post": {
        "operationId": "CreateCustomModule",
        "summary": "Create a custom module",
        "description": "Creates a new organization-defined custom module using the provided module fields, requires the update org permission, and invalidates the custom modules list and detail caches on success.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomModuleCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom"
        ]
      }
    },
    "/organization/modules/custom/{moduleId}": {
      "get": {
        "operationId": "GetCustomModule",
        "summary": "Get a custom module",
        "description": "Returns the details of a single custom module (name, URL, icon, color, description, position, and enabled state) for the organization; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom"
        ]
      },
      "put": {
        "operationId": "UpdateCustomModule",
        "summary": "Update a custom module",
        "description": "Updates the fields of the organization's custom module identified by moduleId, requires the update org permission, and refreshes the custom modules list and detail caches on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomModuleUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom"
        ]
      },
      "delete": {
        "operationId": "DeleteCustomModule",
        "summary": "Delete a custom module",
        "description": "Permanently deletes the organization's custom module identified by moduleId, requires the update org permission, and removes the module from the custom modules list and detail caches on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom"
        ]
      }
    },
    "/organization/modules/custom/{moduleId}/translations": {
      "get": {
        "operationId": "GetCustomModuleTranslations",
        "summary": "List a custom module's translations",
        "description": "Returns a paginated list of locale translations for the specified custom module, supporting search and ordering; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CustomModuleTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom::Translations"
        ]
      }
    },
    "/organization/modules/custom/{moduleId}/translations/{locale}": {
      "get": {
        "operationId": "GetCustomModuleTranslation",
        "summary": "Get a custom module's translation for a locale",
        "description": "Returns the translated strings for a custom module in a specific locale, identified by module ID and locale code; requires read access to the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomModuleTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateCustomModuleTranslation",
        "summary": "Update a custom module translation",
        "description": "Creates or updates the translated content (e.g. name) for a custom module in the given locale, upserting the record if it doesn't already exist, and requires the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomModuleTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomModuleTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteCustomModuleTranslation",
        "summary": "Delete a custom module translation",
        "description": "Deletes the translation for the given locale on the specified custom module, and requires the \"update\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "moduleId",
            "schema": {
              "type": "string"
            },
            "description": "The module identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Custom::Translations"
        ]
      }
    },
    "/organization/modules/{moduleType}": {
      "get": {
        "operationId": "GetOrganizationModule",
        "summary": "Get an organization module's configuration",
        "description": "Returns the enablement configuration for a single feature module type on the organization (enabled state, tier restrictions, auth requirement), defaulting to enabled if no record exists yet; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationModule",
        "summary": "Update an organization module's settings",
        "description": "Updates the configuration (such as enabled state, requireAuth, or editable tiers) of a given organization module type for the current organization, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationModuleUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules"
        ]
      }
    },
    "/organization/modules/{moduleType}/editableTiers": {
      "get": {
        "operationId": "GetOrganizationModuleEditableTiers",
        "summary": "List a module's editable account tiers",
        "description": "Returns the account tiers that are allowed to edit content for the specified organization module type; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      }
    },
    "/organization/modules/{moduleType}/editableTiers/{tierId}": {
      "post": {
        "operationId": "AddOrganizationModuleEditableTier",
        "summary": "Add an editable tier to a module",
        "description": "Grants the specified account tier permission to edit the given organization module type, requires the update org permission, and invalidates the modules list and that module's cached detail on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      },
      "delete": {
        "operationId": "RemoveOrganizationModuleEditableTier",
        "summary": "Remove an editable tier from a module",
        "description": "Revokes the specified account tier's permission to edit the given organization module type, requires the update org permission, and invalidates the modules list and that module's cached detail on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      }
    },
    "/organization/modules/{moduleType}/enabledTiers": {
      "get": {
        "operationId": "GetOrganizationModuleEnabledTiers",
        "summary": "List a module's enabled account tiers",
        "description": "Returns the account tiers for which the specified organization module type is enabled; requires org read permission.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      }
    },
    "/organization/modules/{moduleType}/enabledTiers/{tierId}": {
      "post": {
        "operationId": "AddOrganizationModuleEnabledTier",
        "summary": "Add an enabled tier to a module",
        "description": "Grants the specified account tier access to use the given organization module type, requires the update org permission, and invalidates the modules list and that module's cached detail on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      },
      "delete": {
        "operationId": "RemoveOrganizationModuleEnabledTier",
        "summary": "Remove an enabled tier from a module",
        "description": "Revokes the specified account tier's access to use the given organization module type, requires the update org permission, and invalidates the modules list and that module's cached detail on success.",
        "parameters": [
          {
            "in": "path",
            "name": "moduleType",
            "schema": {
              "type": "string"
            },
            "description": "The moduleType identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationModule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Modules::Tiers"
        ]
      }
    },
    "/organization/payment": {
      "get": {
        "operationId": "GetOrganizationPaymentIntegrations",
        "summary": "List an organization's payment integrations",
        "description": "Returns a paginated list of payment integrations (e.g. Stripe, Braintree, Authorize.Net, manual) configured for the organization, with optional search across name, type, currency code, and connection ID; requires \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PaymentIntegration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      },
      "post": {
        "operationId": "CreateOrganizationPaymentIntegration",
        "summary": "Create an organization payment integration",
        "description": "Creates a new payment integration (e.g. a Stripe or other payment gateway connection) for the current organization, requiring update permission on the org resource.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationPaymentIntegrationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PaymentIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/organization/payment/{integrationId}": {
      "get": {
        "operationId": "GetOrganizationPaymentIntegration",
        "summary": "Get an organization payment integration",
        "description": "Returns the details of a single payment integration (e.g. Stripe, Braintree, Authorize.Net, or manual) configured for the organization, identified by integration ID; requires \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PaymentIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationPaymentIntegration",
        "summary": "Update an organization payment integration",
        "description": "Updates the settings of an existing payment integration, identified by integrationId, for the current organization, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationPaymentIntegrationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PaymentIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationPaymentIntegration",
        "summary": "Delete an organization payment integration",
        "description": "Permanently removes a payment integration, identified by integrationId, from the current organization, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/organization/payment/{integrationId}/toggle": {
      "put": {
        "operationId": "ToggleOrganizationPaymentIntegration",
        "summary": "Set an organization payment integration as default",
        "description": "Toggles the specified payment integration, identified by integrationId, to be the organization's default payment integration, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "integrationId",
            "schema": {
              "type": "string"
            },
            "description": "The integration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PaymentIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/organization/search": {
      "get": {
        "operationId": "SearchOrganization",
        "summary": "Search across the organization",
        "description": "Performs a fuzzy, org-wide search using the given search term and optional filters, returning matching records (e.g. accounts, events) as search fields; available to any authenticated user of the organization.",
        "parameters": [
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/SearchOrganizationFilters"
            },
            "description": "Filter by filters",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SearchField"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/sideEffects": {
      "get": {
        "operationId": "GetOrganizationSideEffects",
        "summary": "List an organization's side effects",
        "description": "Returns a paginated list of automation side effects (trigger-to-action rules, e.g. a new pass of a pass type adding someone to a group) configured for the organization, filterable by trigger type and trigger ID; the required trigger type determines the permission checked (e.g. \"update\" on \"events\" or \"accounts\").",
        "parameters": [
          {
            "in": "query",
            "name": "triggerType",
            "schema": {
              "$ref": "#/components/schemas/SideEffectTriggerType"
            },
            "description": "Filter by triggerType",
            "required": false
          },
          {
            "in": "query",
            "name": "triggerId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by triggerId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SideEffect"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Sideeffects"
        ]
      },
      "post": {
        "operationId": "CreateOrganizationSideEffect",
        "summary": "Create an automation side effect",
        "description": "Creates a side effect that automatically performs an action (such as adding a member to a tier or sending a webhook) when a specified trigger occurs (such as a new account tier or a checked-in event pass), requiring update permission on the resources associated with the chosen trigger and action types.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "triggerType": {
                    "$ref": "#/components/schemas/SideEffectTriggerType"
                  },
                  "triggerId": {
                    "type": "string"
                  },
                  "actionType": {
                    "$ref": "#/components/schemas/SideEffectActionType"
                  },
                  "actionId": {
                    "type": "string"
                  }
                },
                "required": [
                  "triggerType",
                  "triggerId",
                  "actionType",
                  "actionId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SideEffect"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Sideeffects"
        ]
      }
    },
    "/organization/sideEffects/{sideEffectId}": {
      "get": {
        "operationId": "GetOrganizationSideEffect",
        "summary": "Get an organization side effect",
        "description": "Returns the details of a single automation side effect (a trigger-to-action rule, e.g. new pass of pass type joins a group) configured for the organization, identified by side effect ID.",
        "parameters": [
          {
            "in": "path",
            "name": "sideEffectId",
            "schema": {
              "type": "string"
            },
            "description": "The sideEffect identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SideEffect"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Sideeffects"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationSideEffect",
        "summary": "Delete an automation side effect",
        "description": "Permanently removes the side effect identified by sideEffectId, requiring update permission on the resource associated with that side effect's trigger type.",
        "parameters": [
          {
            "in": "path",
            "name": "sideEffectId",
            "schema": {
              "type": "string"
            },
            "description": "The sideEffect identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SideEffect"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Sideeffects"
        ]
      }
    },
    "/organization/system-logs": {
      "get": {
        "operationId": "GetOrganizationSystemLogs",
        "summary": "List organization system event logs",
        "description": "Returns a paginated list of system event logs for the organization, filterable by status and trigger in addition to page, pageSize, orderBy, and search, and requiring the \"read\" permission on both \"org\" and \"logs\".",
        "parameters": [
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/SystemEventLogStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "trigger",
            "schema": {
              "type": "string"
            },
            "description": "Filter by trigger",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SystemEventLog"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/system-logs/{logId}": {
      "get": {
        "operationId": "GetOrganizationSystemLog",
        "summary": "Get a single organization system log",
        "description": "Returns a single system event log entry by ID for the organization, requiring the \"read\" permission on both \"org\" and \"logs\".",
        "parameters": [
          {
            "in": "path",
            "name": "logId",
            "schema": {
              "type": "string"
            },
            "description": "The log identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SystemEventLog"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      }
    },
    "/organization/tax": {
      "get": {
        "operationId": "GetTaxIntegrations",
        "summary": "List configured tax integrations",
        "description": "Returns the organization's configured tax integrations (e.g. Avalara, TaxJar) with their enabled status, requiring the \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxIntegration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}": {
      "get": {
        "operationId": "GetTaxIntegration",
        "summary": "Get an organization tax integration",
        "description": "Returns the configuration details of the organization's tax integration for the given type (e.g. Taxjar, Avalara); requires \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      },
      "post": {
        "operationId": "CreateTaxIntegration",
        "summary": "Create an organization tax integration",
        "description": "Creates a tax integration of the given type (e.g. Avalara) for the current organization using the supplied credentials/settings, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaxIntegrationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      },
      "put": {
        "operationId": "UpdateTaxIntegration",
        "summary": "Update a tax integration's settings",
        "description": "Updates configuration for the organization's tax integration of the given type, such as sandbox mode, commit behavior, company code, and per-resource tax codes (passes, packages, reservations, add-ons, access, invoices, bookings, coupons); requires update permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TaxIntegrationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      },
      "delete": {
        "operationId": "DeleteTaxIntegration",
        "summary": "Delete an organization tax integration",
        "description": "Permanently removes the tax integration of the given type from the current organization, requiring update permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/entity-use-codes": {
      "get": {
        "operationId": "GetEntityUseCodes",
        "summary": "List entity use codes for a tax integration",
        "description": "Returns the list of entity use codes (exemption/usage classifications) supported by the organization's configured tax integration of the given type (e.g. Taxjar, Avalara); requires \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EntityUseCode"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/logs": {
      "get": {
        "operationId": "GetTaxLogs",
        "summary": "List logs for a tax integration",
        "description": "Returns a paginated list of log entries for the tax integration of the given type, supporting page, pageSize, orderBy, and search, and requiring the \"read\" permission on both \"org\" and \"logs\".",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxIntegrationLog"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/logs/{logId}": {
      "get": {
        "operationId": "GetTaxLog",
        "summary": "Get a single tax integration log entry",
        "description": "Returns a single log entry for the given tax integration type and log ID, requiring the \"read\" permission on both \"org\" and \"logs\".",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "logId",
            "schema": {
              "type": "string"
            },
            "description": "The log identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegrationLog"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/tax-codes": {
      "get": {
        "operationId": "GetTaxCodes",
        "summary": "List tax codes for a tax integration",
        "description": "Returns the list of product/service tax codes supported by the organization's configured tax integration of the given type (e.g. Taxjar, Avalara); requires \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TaxCode"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/test": {
      "post": {
        "operationId": "TestTaxIntegration",
        "summary": "Test a tax integration connection",
        "description": "Verifies that the organization's configured tax integration (TaxJar or Avalara) of the given type has valid credentials by making a live test connection to the provider, requiring update permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/tax/{type}/toggle": {
      "put": {
        "operationId": "ToggleTaxIntegration",
        "summary": "Enable or disable a tax integration",
        "description": "Toggles the enabled state of the organization's tax integration of the given type, verifying the connection and required tax codes before enabling, and requiring that no other tax integration is currently enabled; requires update permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "The type identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TaxIntegration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Tax"
        ]
      }
    },
    "/organization/team-members": {
      "get": {
        "operationId": "GetOrganizationTeamMembers",
        "summary": "List organization team members",
        "description": "Returns a paginated list of the organization's internal team members, supporting page, pageSize, orderBy, and search, and requiring the \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/TeamMember"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Teammembers"
        ]
      },
      "post": {
        "operationId": "CreateOrganizationTeamMember",
        "summary": "Create an organization team member",
        "description": "Creates a new team member profile (staff shown on the organization's public team page) with fields such as name, title, and image, assigning it the next display priority; requires update permission on the organization.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationTeamMemberCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TeamMember"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Teammembers"
        ]
      }
    },
    "/organization/team-members/{teamMemberId}": {
      "get": {
        "operationId": "GetOrganizationTeamMember",
        "summary": "Get an organization team member",
        "description": "Returns a single organization team member by ID, requiring the \"read\" permission on \"org\".",
        "parameters": [
          {
            "in": "path",
            "name": "teamMemberId",
            "schema": {
              "type": "string"
            },
            "description": "The teamMember identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Teammembers"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationTeamMember",
        "summary": "Update an organization team member",
        "description": "Updates the specified team member's details (name, title, image, etc.) and, if a new display priority is provided, re-sequences the priority of the other team members accordingly; requires update permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "teamMemberId",
            "schema": {
              "type": "string"
            },
            "description": "The teamMember identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationTeamMemberUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/TeamMember"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Teammembers"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationTeamMember",
        "summary": "Delete an organization team member",
        "description": "Permanently removes the specified team member from the organization and re-sequences the display priority of the remaining team members; requires update permission on the organization.",
        "parameters": [
          {
            "in": "path",
            "name": "teamMemberId",
            "schema": {
              "type": "string"
            },
            "description": "The teamMember identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Teammembers"
        ]
      }
    },
    "/organization/users": {
      "get": {
        "operationId": "GetOrganizationUsers",
        "summary": "List organization member users",
        "description": "Returns a paginated list of users who are members of the organization, supporting page, pageSize, orderBy, and search, and requiring the \"read\" permission on both \"org\" and \"users\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationMembership"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Users"
        ]
      },
      "post": {
        "operationId": "AddOrganizationUser",
        "summary": "Add a user to the organization",
        "description": "Looks up an existing platform user by email and creates an organization membership for them with default (no) permissions, granting them access as an admin team member; requires create permission on users.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "email": {
                    "type": "string"
                  }
                },
                "required": [
                  "email"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Users"
        ]
      }
    },
    "/organization/users/{userId}": {
      "get": {
        "operationId": "GetOrganizationMembership",
        "summary": "Get a user's organization membership",
        "description": "Returns the organization membership record for the given user ID, requiring the \"read\" permission on both \"org\" and \"users\".",
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "The user identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationMembership",
        "summary": "Update a team member's organization permissions",
        "description": "Updates the module-by-module read/create/update/delete permissions for a user's membership in the organization, requires organization read and users update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "The user identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationMembershipUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationUser",
        "summary": "Remove a user from the organization",
        "description": "Deletes the organization membership for the given user, revoking their admin access to the organization; a user cannot delete their own membership, and the caller needs delete permission on users.",
        "parameters": [
          {
            "in": "path",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "The user identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Users"
        ]
      }
    },
    "/organization/webhooks": {
      "get": {
        "operationId": "GetOrganizationWebhooks",
        "summary": "List an organization's webhooks",
        "description": "Returns a paginated, searchable list of outbound webhook configurations registered for the current organization, matching on name, URL, or ID and supporting sorting via orderBy; requires read permission on the org resource.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Webhook"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      },
      "post": {
        "operationId": "CreateOrganizationWebhook",
        "summary": "Create an organization webhook",
        "description": "Registers a new outbound webhook endpoint for the organization with a name, URL, and secret, requires organization read and update permissions; the new webhook starts unverified until the verify endpoint is called.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Webhook"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      }
    },
    "/organization/webhooks/{webhookId}": {
      "get": {
        "operationId": "GetOrganizationWebhook",
        "summary": "Get an organization webhook",
        "description": "Retrieves a single outbound webhook configuration by ID for the current organization, including its URL, subscribed events, and status; requires read permission on the org resource.",
        "parameters": [
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Webhook"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      },
      "put": {
        "operationId": "UpdateOrganizationWebhook",
        "summary": "Update an organization webhook",
        "description": "Modifies an existing webhook's name, URL, secret, or other settings for the organization, requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Webhook"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      },
      "delete": {
        "operationId": "DeleteOrganizationWebhook",
        "summary": "Delete an organization webhook",
        "description": "Permanently removes the specified webhook endpoint from the organization so it no longer receives event deliveries, requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      }
    },
    "/organization/webhooks/{webhookId}/verify": {
      "post": {
        "operationId": "VerifyOrganizationWebhook",
        "summary": "Verify an organization webhook endpoint",
        "description": "Sends a signed test payload to the webhook's URL and, if delivery succeeds, marks the webhook as verified so it can start receiving real event deliveries, requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "webhookId",
            "schema": {
              "type": "string"
            },
            "description": "The webhook identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Webhook"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Webhooks"
        ]
      }
    },
    "/payment-intents": {
      "get": {
        "operationId": "GetPaymentIntents",
        "summary": "List an organization's payment intents",
        "description": "Returns a paginated list of unpaid checkout payment intents for the organization, searchable by id, source, description, or account; requires \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/PaymentIntent"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/payment-intents/{intentId}": {
      "get": {
        "operationId": "GetPaymentIntent",
        "summary": "Get a payment intent",
        "description": "Returns a single unpaid checkout payment intent identified by intent ID; requires \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "path",
            "name": "intentId",
            "schema": {
              "type": "string"
            },
            "description": "The intent identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PaymentIntent"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      },
      "delete": {
        "operationId": "DeletePaymentIntent",
        "summary": "Delete a payment intent",
        "description": "Permanently removes an unpaid checkout payment intent identified by intentId. For Stripe, cancels an uncaptured PaymentIntent first and refuses if funds were already captured; requires update permission on the payments resource.",
        "parameters": [
          {
            "in": "path",
            "name": "intentId",
            "schema": {
              "type": "string"
            },
            "description": "The intent identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/payments": {
      "get": {
        "operationId": "GetPayments",
        "summary": "List an organization's payments",
        "description": "Returns a paginated list of payment records for the organization, with optional search and sort ordering; requires \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/payments/{paymentId}": {
      "get": {
        "operationId": "GetPayment",
        "summary": "Get a payment",
        "description": "Returns the details of a single payment record for the organization, identified by payment ID; requires \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "path",
            "name": "paymentId",
            "schema": {
              "type": "string"
            },
            "description": "The payment identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Payment"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      },
      "put": {
        "operationId": "UpdatePayment",
        "summary": "Update a payment record",
        "description": "Updates fields on an existing payment, such as linking or unlinking it to a registration, requires read and update permissions on payments.",
        "parameters": [
          {
            "in": "path",
            "name": "paymentId",
            "schema": {
              "type": "string"
            },
            "description": "The payment identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PaymentUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Payment"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Payments"
        ]
      }
    },
    "/payments/{paymentId}/receipt": {
      "post": {
        "operationId": "SendPaymentReceipt",
        "summary": "Email a receipt for a payment",
        "description": "Queues a receipt email to the account on the payment, itemized with every line item and net of any refunds, for an attendee who needs one for tax or reimbursement purposes; only captured charges are eligible, and requires read and update permissions on payments.",
        "parameters": [
          {
            "in": "path",
            "name": "paymentId",
            "schema": {
              "type": "string"
            },
            "description": "The payment identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/payments/{paymentId}/refund": {
      "post": {
        "operationId": "RefundPayment",
        "summary": "Refund line items on a payment",
        "description": "Issues a refund for one or more line items on the specified payment, identified by paymentId, requiring update permission on the payments resource; at least one line item with a positive amount must be provided.",
        "parameters": [
          {
            "in": "path",
            "name": "paymentId",
            "schema": {
              "type": "string"
            },
            "description": "The payment identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RefundLineItem"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Payment"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/payments/{paymentId}/tax-metadata": {
      "get": {
        "operationId": "GetPaymentTaxMetadata",
        "summary": "Get a payment's tax metadata",
        "description": "Returns tax metadata recorded for a specific payment by fetching it from the tax integration (e.g. Taxjar, Avalara) linked to that payment, or a message if the payment has no associated tax integration; requires \"read\" permission on \"payments\".",
        "parameters": [
          {
            "in": "path",
            "name": "paymentId",
            "schema": {
              "type": "string"
            },
            "description": "The payment identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Organization::Payments"
        ]
      }
    },
    "/preferences": {
      "get": {
        "operationId": "GetPreferences",
        "summary": "Get the current user's notification preferences",
        "description": "Returns the calling admin user's support ticket notification preferences (in-app and email) for the current organization membership.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AdminNotificationPreferences"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Preferences"
        ]
      },
      "put": {
        "operationId": "UpdatePreferences",
        "summary": "Update the current admin user's notification preferences",
        "description": "Updates the calling admin user's own support ticket notification settings (in-app and email toggles for new, assigned, and message-received tickets) for their organization membership.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AdminNotificationPreferencesUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/AdminNotificationPreferences"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Preferences"
        ]
      }
    },
    "/push-devices": {
      "get": {
        "operationId": "GetPushDevices",
        "summary": "List registered push devices",
        "description": "Returns a paginated, searchable list of registered push notification devices across the organization, optionally filtered to a single account by accountId and sortable via orderBy; requires read permission on the accounts resource.",
        "parameters": [
          {
            "in": "query",
            "name": "accountId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by accountId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BasePushDevice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "PushDevices"
        ]
      }
    },
    "/push-devices/{pushDeviceId}": {
      "get": {
        "operationId": "GetPushDevice",
        "summary": "Get a registered push device",
        "description": "Retrieves a single registered push notification device by its ID, including its device token and associated account; requires read permission on the accounts resource.",
        "parameters": [
          {
            "in": "path",
            "name": "pushDeviceId",
            "schema": {
              "type": "string"
            },
            "description": "The pushDevice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/PushDevice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "PushDevices"
        ]
      },
      "delete": {
        "operationId": "DeletePushDevice",
        "summary": "Delete a registered push notification device",
        "description": "Removes a mobile push device registration by its ID so it no longer receives push notifications, requires read and update permissions on accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "pushDeviceId",
            "schema": {
              "type": "string"
            },
            "description": "The pushDevice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "PushDevices"
        ]
      }
    },
    "/reports": {
      "get": {
        "operationId": "GetReports",
        "summary": "List available standard reports",
        "description": "Returns the list of standard reports available to the organization, filtered by report type and further filtered to only those reports whose required permission domains the caller can read; requires the `read:reports` permission.",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "schema": {
              "$ref": "#/components/schemas/ReportType"
            },
            "description": "Filter by type",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/BaseStandardReport"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/reports/custom": {
      "get": {
        "operationId": "GetCustomReports",
        "summary": "List an organization's custom reports",
        "description": "Returns a paginated, searchable list of custom report configurations saved for the current organization, matching on report name and supporting additional filters and sorting via orderBy; requires read permission on the reports resource.",
        "parameters": [
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/ReportFilters"
            },
            "description": "Filter by filters",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CustomReport"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/reports/custom/{reportId}": {
      "get": {
        "operationId": "GetCustomReport",
        "summary": "Get a custom report's configuration",
        "description": "Retrieves the saved configuration for a single custom report by ID, including the underlying standard report it is built from and its settings; requires read permission on the reports resource.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomReport"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      },
      "put": {
        "operationId": "UpdateCustomReport",
        "summary": "Update a custom report",
        "description": "Updates the configuration (filters, name, sharing settings, etc.) of an existing custom report; only the report owner, or a shared user when the report isn't restricted to specific users, may update it, and changing the shared setting itself is restricted to the owner, requiring the update permission on the reports domain.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomReportUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomReport"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      },
      "delete": {
        "operationId": "DeleteCustomReport",
        "summary": "Delete a custom report",
        "description": "Permanently deletes a custom report by ID, along with its AWS EventBridge schedule if one exists; only the report's owning user may delete it, and this requires the delete permission on the reports domain.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/reports/custom/{reportId}/export": {
      "post": {
        "operationId": "ExportCustomReport",
        "summary": "Export a custom report",
        "description": "Kicks off an asynchronous export of a custom report's data, optionally emailing the resulting file to a specified address in addition to the requesting user, and requires read permission on the reports domain plus any domains associated with the report's standard type.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomReportExportInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/reports/custom/{reportId}/schedule": {
      "get": {
        "operationId": "GetCustomReportSchedule",
        "summary": "Get a custom report's send schedule",
        "description": "Retrieves the recurring email delivery schedule configured for a custom report, including its cron expression, timezone, and recipient emails, or null if no schedule is set; requires read permission on the reports resource.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CustomReportSchedule"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      },
      "post": {
        "operationId": "UpsertCustomReportSchedule",
        "summary": "Create or update a custom report's schedule",
        "description": "Creates or updates a recurring email schedule for a custom report by provisioning an AWS EventBridge schedule with the given cron/rate expression, timezone, and recipient emails; only the report owner or an authorized shared user may set the schedule, and this requires read permission on the reports domain plus any domains tied to the report's standard type.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomReportScheduleInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomReportSchedule"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      },
      "delete": {
        "operationId": "DeleteCustomReportSchedule",
        "summary": "Delete a custom report's schedule",
        "description": "Removes the recurring email schedule for a custom report, deleting the underlying AWS EventBridge schedule and clearing it from the report record; only the report owner or an authorized shared user may remove it, and this requires the update permission on the reports domain.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/CustomReportSchedule"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/reports/custom/{reportId}/users": {
      "get": {
        "operationId": "GetCustomReportUsers",
        "summary": "List users shared on a custom report",
        "description": "Returns the users a custom report has been shared with, identified by the custom report's ID; requires the `read:reports` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/User"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports::Users"
        ]
      },
      "post": {
        "operationId": "AddCustomReportUser",
        "summary": "Share a custom report with a user",
        "description": "Grants another user access to a custom report by adding them to its shared users list; only the report's owner may add users, and this requires the update permission on the reports domain.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string"
                  }
                },
                "required": [
                  "userId"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports::Users"
        ]
      }
    },
    "/reports/custom/{reportId}/users/{userId}": {
      "delete": {
        "operationId": "RemoveCustomReportUser",
        "summary": "Unshare a custom report from a user",
        "description": "Revokes a user's shared access to a custom report by removing them from its shared users list; only the report's owner may remove users, and this requires the delete permission on the reports domain.",
        "parameters": [
          {
            "in": "path",
            "name": "reportId",
            "schema": {
              "type": "string"
            },
            "description": "The report identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "userId",
            "schema": {
              "type": "string"
            },
            "description": "The user identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports::Users"
        ]
      }
    },
    "/reports/{standard}": {
      "get": {
        "operationId": "GetReport",
        "summary": "Run a standard report and fetch all its rows",
        "description": "Executes the named standard report definition with the given filters and automatically pages through cursor-based results to return the complete row set; access is restricted to the domain permissions declared by that specific standard report, in addition to read permission on the reports resource.",
        "parameters": [
          {
            "in": "path",
            "name": "standard",
            "schema": {
              "type": "string"
            },
            "description": "The standard identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "filters",
            "schema": {
              "$ref": "#/components/schemas/ReportFilters"
            },
            "description": "Filter by filters",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StandardReport"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      },
      "post": {
        "operationId": "CreateCustomReport",
        "summary": "Create a custom report from a standard report",
        "description": "Creates a new saved custom report based on the given standard report definition, with the caller's chosen name, filters, and columns, requires read and create permissions on reports.",
        "parameters": [
          {
            "in": "path",
            "name": "standard",
            "schema": {
              "type": "string"
            },
            "description": "The standard identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomReportCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/CustomReport"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Reports"
        ]
      }
    },
    "/searchlists": {
      "get": {
        "operationId": "GetSearchLists",
        "summary": "List an organization's search lists",
        "description": "Returns a paginated, searchable list of search lists belonging to the organization, with optional page size, ordering, and search term filters; requires the `read:org` permission.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SearchList"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists"
        ]
      },
      "post": {
        "operationId": "CreateSearchList",
        "summary": "Create a search list",
        "description": "Creates a new organization-scoped search list (a reusable named set of selectable values, e.g. for survey question options); fails if a search list with the same name already exists, and requires the create permission on the org domain.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchListCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchList"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists"
        ]
      }
    },
    "/searchlists/{searchListId}": {
      "get": {
        "operationId": "GetSearchList",
        "summary": "Get a search list",
        "description": "Returns a single search list by its ID, including its configuration; requires the `read:org` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchList"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists"
        ]
      },
      "put": {
        "operationId": "UpdateSearchList",
        "summary": "Update a search list",
        "description": "Updates a search list's properties such as its name; fails if renaming would collide with another existing search list's name, and requires the update permission on the org domain.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchListUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchList"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists"
        ]
      },
      "delete": {
        "operationId": "DeleteSearchList",
        "summary": "Delete a search list",
        "description": "Permanently deletes a search list by ID; fails if the search list is currently referenced by any questions, sessions, or surveys, and requires the update permission on the org domain.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists"
        ]
      }
    },
    "/searchlists/{searchListId}/questions": {
      "get": {
        "operationId": "GetSearchListConnectedQuestions",
        "summary": "List questions connected to a search list",
        "description": "Returns a cursor-paginated list of the questions that reference the given search list, with optional page size, ordering, and search term filters; requires the `read:org` permission.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SearchListConnectedQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      }
    },
    "/searchlists/{searchListId}/values": {
      "get": {
        "operationId": "GetSearchListValues",
        "summary": "List a search list's values",
        "description": "Returns a paginated, searchable list of the value entries belonging to the given search list, with optional page size, ordering, and search term filters; accessible to any authenticated admin user.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SearchListValue"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      },
      "post": {
        "operationId": "CreateSearchListValue",
        "summary": "Create a search list value",
        "description": "Adds a new value to the specified search list, rejecting duplicate values within the same list, and requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchListValueCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchListValue"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      }
    },
    "/searchlists/{searchListId}/values/bulk": {
      "post": {
        "operationId": "BulkUploadSearchListValues",
        "summary": "Bulk upload values to a search list",
        "description": "Creates many values on the given search list in a single request from an array of strings, skipping duplicates, and requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "values": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "values"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SearchListValue"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      }
    },
    "/searchlists/{searchListId}/values/{valueId}": {
      "get": {
        "operationId": "GetSearchListValue",
        "summary": "Get a search list value",
        "description": "Returns a single value entry from a search list, identified by the search list ID and value ID; accessible to any authenticated admin user.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "valueId",
            "schema": {
              "type": "string"
            },
            "description": "The value identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchListValue"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      },
      "put": {
        "operationId": "UpdateSearchListValue",
        "summary": "Update a search list value",
        "description": "Updates the fields, such as the value text or priority, of an existing value on the specified search list and requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "valueId",
            "schema": {
              "type": "string"
            },
            "description": "The value identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchListValueUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SearchListValue"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      },
      "delete": {
        "operationId": "DeleteSearchListValue",
        "summary": "Delete a search list value",
        "description": "Permanently removes a single value from the specified search list and requires organization read and update permissions.",
        "parameters": [
          {
            "in": "path",
            "name": "searchListId",
            "schema": {
              "type": "string"
            },
            "description": "The searchList identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "valueId",
            "schema": {
              "type": "string"
            },
            "description": "The value identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Searchlists::Values"
        ]
      }
    },
    "/self": {
      "get": {
        "operationId": "GetSelf",
        "summary": "Get the current user's profile",
        "description": "Returns the profile of the currently authenticated user.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Self"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self"
        ]
      },
      "put": {
        "operationId": "UpdateSelf",
        "summary": "Update the current user's profile",
        "description": "Updates profile fields on the authenticated user's own account, such as name and contact details, and returns the updated user record.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/User"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self"
        ]
      }
    },
    "/self/api-keys": {
      "get": {
        "operationId": "GetSelfApiKeys",
        "summary": "List the current user's API keys",
        "description": "Returns a paginated, searchable list of API keys belonging to the authenticated user, with optional page size, ordering, and search term filters.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/UserApiKey"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Apikeys"
        ]
      },
      "post": {
        "operationId": "CreateSelfApiKey",
        "summary": "Create an API key for the current user",
        "description": "Generates a new personal API key for the authenticated user with the given name, description, scope, and validity window, returning the full key value only once at creation time.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserApiKeyCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/UserApiKey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Apikeys"
        ]
      }
    },
    "/self/api-keys/{apiKeyId}": {
      "get": {
        "operationId": "GetSelfApiKey",
        "summary": "Get one of the current user's API keys",
        "description": "Returns a single API key belonging to the authenticated user, identified by its API key ID; users can only access their own API keys.",
        "parameters": [
          {
            "in": "path",
            "name": "apiKeyId",
            "schema": {
              "type": "string"
            },
            "description": "The apiKey identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/UserApiKey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Apikeys"
        ]
      },
      "delete": {
        "operationId": "DeleteSelfApiKey",
        "summary": "Delete an API key for the current user",
        "description": "Permanently revokes and removes the specified personal API key belonging to the authenticated user.",
        "parameters": [
          {
            "in": "path",
            "name": "apiKeyId",
            "schema": {
              "type": "string"
            },
            "description": "The apiKey identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Apikeys"
        ]
      }
    },
    "/self/image": {
      "put": {
        "operationId": "UpdateUserImage",
        "summary": "Update the current user's profile image",
        "description": "Uploads and sets a new profile picture for the authenticated user from a base64 image data URI in jpeg, png, heic, or heif format, and returns the updated user profile.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserImageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/User"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Images"
        ]
      },
      "delete": {
        "operationId": "DeleteUserImage",
        "summary": "Delete the current user's profile image",
        "description": "Removes the authenticated user's profile picture, deleting the stored image from Cloudflare if one exists, and returns the updated user profile.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/User"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self::Images"
        ]
      }
    },
    "/self/organization-membership": {
      "get": {
        "operationId": "GetSelfOrgMembership",
        "summary": "Get the current user's organization membership",
        "description": "Returns the authenticated user's membership record for the currently selected organization, including their role and status; no special permission is required beyond being signed in.",
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/OrganizationMembership"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self"
        ]
      }
    },
    "/self/organizations": {
      "get": {
        "operationId": "GetSelfOrganizations",
        "summary": "List the current user's organizations",
        "description": "Returns a paginated list of organizations the authenticated user belongs to, supporting search and ordering; no special permission is required beyond being signed in.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self"
        ]
      }
    },
    "/self/organizations/{organizationId}": {
      "delete": {
        "operationId": "SelfLeaveOrganization",
        "summary": "Leave an organization",
        "description": "Removes the authenticated user's membership from the given organization, and fails if that organization is the user's currently signed-in organization.",
        "parameters": [
          {
            "in": "path",
            "name": "organizationId",
            "schema": {
              "type": "string"
            },
            "description": "The organization identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/User"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Self"
        ]
      }
    },
    "/series": {
      "get": {
        "operationId": "GetSeriesList",
        "summary": "List event series",
        "description": "Returns a paginated list of event series for the organization, supporting search and ordering, and requires read access to events.",
        "parameters": [
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Series"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      },
      "post": {
        "operationId": "CreateSeries",
        "summary": "Create an event series",
        "description": "Creates a new event series for the organization from the given details, requiring \"read\" and \"create\" permission on events.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Series"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      }
    },
    "/series/{seriesId}": {
      "get": {
        "operationId": "GetSeries",
        "summary": "Get a series",
        "description": "Returns the details of a single event series by its ID, and requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Series"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      },
      "put": {
        "operationId": "UpdateSeries",
        "summary": "Update an event series",
        "description": "Updates the details of an existing event series, excluding its id, image, and timestamps, requiring \"read\" and \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Series"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      },
      "delete": {
        "operationId": "DeleteSeries",
        "summary": "Delete an event series",
        "description": "Permanently deletes an event series from the organization, requiring \"read\" and \"del\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      }
    },
    "/series/{seriesId}/events": {
      "get": {
        "operationId": "GetSeriesEvents",
        "summary": "List the events in a series",
        "description": "Returns a paginated list of events belonging to a series, supporting search and ordering, and requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Event"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      }
    },
    "/series/{seriesId}/events/{eventId}": {
      "post": {
        "operationId": "AddSeriesEvent",
        "summary": "Add an event to a series",
        "description": "Attaches an existing event to an event series so it appears as one of the series' occurrences, requiring \"read\" and \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Series"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      },
      "delete": {
        "operationId": "RemoveSeriesEvent",
        "summary": "Remove an event from a series",
        "description": "Detaches an event from an event series so it no longer appears as one of the series' occurrences, requiring \"read\" and \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "The event identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Series"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      }
    },
    "/series/{seriesId}/payments": {
      "get": {
        "operationId": "GetSeriesPayments",
        "summary": "List a series' payments",
        "description": "Returns a paginated list of payments associated with a series, supporting search and ordering, and requires read access to both events and payments.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series"
        ]
      }
    },
    "/series/{seriesId}/questions": {
      "get": {
        "operationId": "GetSeriesQuestions",
        "summary": "List a series' registration questions",
        "description": "Returns a paginated list of registration questions configured for the given series, supporting search and ordering, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      },
      "post": {
        "operationId": "CreateSeriesQuestion",
        "summary": "Create a registration question for a series",
        "description": "Creates a new registration question on the series, optionally with an initial list of answer choices, inserting it at the given sortOrder or appending it to the end; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      }
    },
    "/series/{seriesId}/questions/{questionId}": {
      "get": {
        "operationId": "GetSeriesQuestion",
        "summary": "Get a series registration question",
        "description": "Returns a single registration question configured for the given series, identified by its question ID, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesQuestion",
        "summary": "Update a series registration question",
        "description": "Updates the properties of a registration question on a series, such as its label, type, or required flag, and re-sequences sortOrder among sibling questions if a new sortOrder is supplied; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteSeriesQuestion",
        "summary": "Delete a series registration question",
        "description": "Permanently deletes a registration question from a series and re-sequences the sortOrder of the remaining questions; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      }
    },
    "/series/{seriesId}/questions/{questionId}/choices": {
      "get": {
        "operationId": "GetSeriesQuestionChoices",
        "summary": "List a series question's choices",
        "description": "Returns a paginated list of answer choices belonging to a series registration question, supporting search and ordering, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesQuestionChoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      },
      "post": {
        "operationId": "CreateSeriesQuestionChoice",
        "summary": "Add a choice to a series question",
        "description": "Creates a new answer choice for a select/radio/checkbox question on a series, appending it to the end of the choice order unless a specific sortOrder is provided; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesQuestionChoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Choices"
        ]
      }
    },
    "/series/{seriesId}/questions/{questionId}/choices/reorder": {
      "put": {
        "operationId": "ReorderSeriesQuestionChoices",
        "summary": "Reorder a series question's choices",
        "description": "Sets the display order of a series question's answer choices from a complete, ordered array of choice IDs; all existing choice IDs must be included or the request is rejected, and update permission on events is required.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "choicesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "choicesIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesQuestionChoice"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Choices"
        ]
      }
    },
    "/series/{seriesId}/questions/{questionId}/choices/{choiceId}": {
      "get": {
        "operationId": "GetSeriesQuestionChoice",
        "summary": "Get a series question choice",
        "description": "Returns a single answer choice for a series registration question, identified by its choice ID, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesQuestionChoice",
        "summary": "Update a series question choice",
        "description": "Updates the properties (such as label or value) of an existing answer choice on a series question, identified by seriesId, questionId, and choiceId; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesQuestionChoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Choices"
        ]
      },
      "delete": {
        "operationId": "DeleteSeriesQuestionChoice",
        "summary": "Delete a series question choice",
        "description": "Permanently deletes an answer choice from a series question and re-sequences the sortOrder of the remaining choices; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Choices"
        ]
      }
    },
    "/series/{seriesId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetSeriesQuestionTranslation",
        "summary": "Get a series question's translation",
        "description": "Returns the translated text for a series registration question in the given locale, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SeriesQuestionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesQuestionTranslation",
        "summary": "Update a series question's translation",
        "description": "Creates or updates the localized text (e.g. label, description) for a series question in the given locale, upserting the translation record if it does not already exist; requires update permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesQuestionTranslation"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Questions::Translations"
        ]
      }
    },
    "/series/{seriesId}/registrations": {
      "get": {
        "operationId": "GetSeriesRegistrations",
        "summary": "List a series' registrations",
        "description": "Returns a paginated list of registrations for a series, supporting search, ordering, and filtering by purchase status, and requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesRegistration"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      },
      "post": {
        "operationId": "CreateSeriesRegistration",
        "summary": "Create a series registration",
        "description": "Registers an account for a series (which must have registration enabled), creating the registration with a \"ready\" status when done by an admin; requires read and create permissions on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesRegistrationCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      }
    },
    "/series/{seriesId}/registrations/{registrationId}": {
      "get": {
        "operationId": "GetSeriesRegistration",
        "summary": "Get a series registration",
        "description": "Returns a single registration record for the given series, identified by its registration ID, requires the \"read\" permission on the events module.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesRegistration",
        "summary": "Update a series registration's status",
        "description": "Updates a registration under an event series, currently limited to changing its status, and requires \"update\" permission on events (as well as \"read\" permission on events).",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesRegistrationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SeriesRegistration"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      },
      "delete": {
        "operationId": "DeleteSeriesRegistration",
        "summary": "Delete a series registration",
        "description": "Permanently deletes an account's registration for a series, identified by seriesId and registrationId; requires read and delete permissions on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      }
    },
    "/series/{seriesId}/registrations/{registrationId}/passes": {
      "get": {
        "operationId": "GetSeriesRegistrationPasses",
        "summary": "List a series registration's event passes",
        "description": "Returns a paginated list of event passes issued under a given series registration, supporting search and ordering, requires the \"read\" permission on both the events and attendees modules.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventPass"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      }
    },
    "/series/{seriesId}/registrations/{registrationId}/payments": {
      "get": {
        "operationId": "GetSeriesRegistrationPayments",
        "summary": "List a series registration's payments",
        "description": "Returns a paginated list of payment records associated with a given series registration, supporting search and ordering, requires the \"read\" permission on both the events and payments modules.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Payment"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      }
    },
    "/series/{seriesId}/registrations/{registrationId}/responses": {
      "get": {
        "operationId": "GetSeriesRegistrationResponses",
        "summary": "Get a series registration's question responses",
        "description": "Returns the registration question responses submitted for a given registration within a series, requiring read access to events and attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesRegistrationQuestionResponse"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesRegistrationResponses",
        "summary": "Update a series registration's question responses",
        "description": "Overwrites the registrant's question/answer responses for a registration on an event series, submitted on the registrant's behalf by an admin, and requires \"read\" permission on events plus \"read\" and \"update\" permission on attendees.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "registrationId",
            "schema": {
              "type": "string"
            },
            "description": "The registration identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesRegistrationResponsesUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Registrations"
        ]
      }
    },
    "/series/{seriesId}/translations": {
      "get": {
        "operationId": "GetSeriesTranslations",
        "summary": "List a series' translations",
        "description": "Returns a paginated list of locale translations available for a series, supporting search and ordering, and requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SeriesTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Translations"
        ]
      }
    },
    "/series/{seriesId}/translations/{locale}": {
      "get": {
        "operationId": "GetSeriesTranslation",
        "summary": "Get a series translation",
        "description": "Returns the translated content for a series in the given locale, or null if no translation exists, and requires read access to events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SeriesTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSeriesTranslation",
        "summary": "Create or update a series translation",
        "description": "Creates or updates the translated content for an event series in the given locale, requiring \"read\" and \"update\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SeriesTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteSeriesTranslation",
        "summary": "Delete a series translation",
        "description": "Deletes the translated content for an event series in the given locale, requiring \"read\" and \"del\" permission on events.",
        "parameters": [
          {
            "in": "path",
            "name": "seriesId",
            "schema": {
              "type": "string"
            },
            "description": "The series identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Series::Translations"
        ]
      }
    },
    "/streams": {
      "get": {
        "operationId": "GetStreamInputs",
        "summary": "List an organization's stream inputs",
        "description": "Returns a paginated list of stream inputs for the organization, filterable by associated event, session, group, or meeting, and by free-text search; requires read permission on streams.",
        "parameters": [
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sessionId",
            "required": false
          },
          {
            "in": "query",
            "name": "groupId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by groupId",
            "required": false
          },
          {
            "in": "query",
            "name": "meetingId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by meetingId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StreamInput"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      },
      "post": {
        "operationId": "CreateStreamInput",
        "summary": "Create a stream input",
        "description": "Creates a new stream input record and a matching Cloudflare Stream live input configured for automatic recording, returning the input's connection details (RTMP/SRT/WebRTC URLs and keys); requires the read and create permissions on streams.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamInputCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      }
    },
    "/streams/{streamId}": {
      "get": {
        "operationId": "GetStreamInput",
        "summary": "Get a single stream input",
        "description": "Returns details for a single stream input by ID, including its configuration for ingesting a live broadcast; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      },
      "put": {
        "operationId": "UpdateStream",
        "summary": "Update a stream input's settings",
        "description": "Updates the configurable fields (e.g. name, associated event/session/group, image) of an existing stream input (streamId); requires the read and update permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamInputUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      },
      "delete": {
        "operationId": "DeleteStreamInput",
        "summary": "Delete a stream input",
        "description": "Permanently deletes the stream input (streamId) and its associated Cloudflare live input; requires the read and delete permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      }
    },
    "/streams/{streamId}/config": {
      "put": {
        "operationId": "UpdateStreamInputConfig",
        "summary": "Update a stream input's recording configuration",
        "description": "Updates Cloudflare recording settings (mode, signed URL requirement, recording retention days) for the given stream input (streamId); requires the update permission on streams. Note: the corresponding backend route has been removed, so this endpoint is currently non-functional.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamInputUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      }
    },
    "/streams/{streamId}/outputs": {
      "get": {
        "operationId": "GetStreamInputOutputs",
        "summary": "List a stream's output destinations",
        "description": "Returns the list of restream output destinations (e.g. third-party RTMP targets) configured for the given stream input; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StreamInputOutput"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Outputs"
        ]
      },
      "post": {
        "operationId": "CreateStreamInputOutput",
        "summary": "Add a restream output to a stream input",
        "description": "Creates a new output (e.g. an RTMP restream destination) on the Cloudflare live input for the given streamId, forwarding the live feed to an external URL and stream key; requires the read and create permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamInputOutputCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInputOutput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Outputs"
        ]
      }
    },
    "/streams/{streamId}/outputs/{outputId}": {
      "put": {
        "operationId": "UpdateStreamInputOutput",
        "summary": "Enable or disable a stream output",
        "description": "Toggles the enabled state of the specified restream output (outputId) on a stream input's Cloudflare live input, starting or stopping that restream destination; requires the read and update permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "outputId",
            "schema": {
              "type": "string"
            },
            "description": "The output identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StreamInputOutputUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInputOutput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Outputs"
        ]
      },
      "delete": {
        "operationId": "DeleteStreamInputOutput",
        "summary": "Delete a stream input's restream output",
        "description": "Permanently removes the specified output (outputId) from the Cloudflare live input of the given stream (streamId), stopping that restream destination; requires the read and update permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "outputId",
            "schema": {
              "type": "string"
            },
            "description": "The output identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Outputs"
        ]
      }
    },
    "/streams/{streamId}/outputs/{output}": {
      "get": {
        "operationId": "GetStreamInputOutput",
        "summary": "Get a stream's output destination",
        "description": "Returns details for a single restream output (e.g. a third-party RTMP destination) configured on the given stream input; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "output",
            "schema": {
              "type": "string"
            },
            "description": "The output identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamInputOutput"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Outputs"
        ]
      }
    },
    "/streams/{streamId}/sessions": {
      "get": {
        "operationId": "GetStreamSessions",
        "summary": "List a stream's broadcast sessions",
        "description": "Returns a paginated list of broadcast sessions for the given stream input, filterable by session status; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "type": "string"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StreamSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/sessions/{sessionId}": {
      "get": {
        "operationId": "GetStreamSession",
        "summary": "Get a single stream session",
        "description": "Returns details for one broadcast session of the given stream input, such as its status and timing information; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/StreamSession"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/sessions/{sessionId}/chat": {
      "get": {
        "operationId": "GetStreamSessionChat",
        "summary": "List a stream session's chat messages",
        "description": "Returns a cursor-paginated list of the most recent chat messages sent during the given stream session, ordered for chronological display; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StreamSessionChatMessage"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/sessions/{sessionId}/close": {
      "put": {
        "operationId": "CloseStreamSession",
        "summary": "Close an active stream session",
        "description": "Ends the specified live session (sessionId) on a stream input, disconnecting all viewer subscriptions and marking the session as ended; requires the read and update permissions on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/sessions/{sessionId}/export": {
      "post": {
        "operationId": "ExportStreamSession",
        "summary": "Request an export of a stream session",
        "description": "Queues an asynchronous export job for the given stream session (sessionId), emailing the requesting user a download when the export completes; requires the read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/sessions/{sessionId}/subscriptions": {
      "get": {
        "operationId": "GetStreamSessionSubscriptions",
        "summary": "List a stream session's viewer connections",
        "description": "Returns a paginated list of viewer WebSocket subscriptions for the given stream session, each with its connection details, optionally filtered to only active (not yet disconnected) subscriptions; requires read permission on streams.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "active",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by active",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/StreamSessionSubscription"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams::Sessions"
        ]
      }
    },
    "/streams/{streamId}/videos": {
      "get": {
        "operationId": "GetStreamVideos",
        "summary": "List a stream's recorded videos",
        "description": "Returns a paginated list of recorded videos associated with the given stream, with optional search and ordering, and requires \"read\" permission on both streams and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "streamId",
            "schema": {
              "type": "string"
            },
            "description": "The stream identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Streams"
        ]
      }
    },
    "/supportTickets": {
      "get": {
        "operationId": "GetSupportTickets",
        "summary": "List support tickets",
        "description": "Returns a paginated list of support tickets for the organization, filterable by type, state, and assignment (\"me\" or \"unassigned\" relative to the current admin), with optional search and ordering, requiring \"read\" permission on support.",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "state",
            "schema": {
              "type": "string"
            },
            "description": "Filter by state",
            "required": false
          },
          {
            "in": "query",
            "name": "assignment",
            "schema": {
              "type": "string",
              "enum": [
                "me",
                "unassigned"
              ]
            },
            "description": "Filter by assignment",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicket"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      },
      "post": {
        "operationId": "CreateSupportTicket",
        "summary": "Create a support ticket",
        "description": "Creates a new support ticket for the organization, optionally associating it with an account; requires \"create\" permission on support.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportTicketCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SupportTicket"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      }
    },
    "/supportTickets/{supportTicketId}": {
      "get": {
        "operationId": "GetSupportTicket",
        "summary": "Get a support ticket",
        "description": "Returns the full details of a single support ticket, including its event, activity logs, and current viewer/read state, requiring \"read\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SupportTicket"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      },
      "put": {
        "operationId": "UpdateSupportTicket",
        "summary": "Update a support ticket",
        "description": "Updates fields on an existing support ticket, such as its state, type, or assignment; requires \"update\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportTicketUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SupportTicket"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      },
      "delete": {
        "operationId": "DeleteSupportTicket",
        "summary": "Delete a support ticket",
        "description": "Permanently deletes the specified support ticket and its associated data; requires \"del\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      }
    },
    "/supportTickets/{supportTicketId}/activityLog": {
      "get": {
        "operationId": "GetSupportTicketActivity",
        "summary": "List a support ticket's activity log",
        "description": "Returns the full activity log for the given support ticket (e.g. status changes and assignment events), ordered as specified, and requires \"read\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicketActivityLog"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      }
    },
    "/supportTickets/{supportTicketId}/messages": {
      "get": {
        "operationId": "GetSupportTicketMessages",
        "summary": "List a support ticket's messages",
        "description": "Returns a paginated list of messages exchanged on the given support ticket, with optional search and ordering, requiring \"read\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicketMessage"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support::Messages"
        ]
      },
      "post": {
        "operationId": "CreateSupportTicketMessage",
        "summary": "Send a support ticket message",
        "description": "Posts a new message on the given support ticket's conversation thread, updating the ticket's last-message timestamp; requires \"update\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportTicketMessageCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SupportTicketMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support::Messages"
        ]
      }
    },
    "/supportTickets/{supportTicketId}/notes": {
      "get": {
        "operationId": "GetSupportTicketNotes",
        "summary": "List a support ticket's internal notes",
        "description": "Returns a paginated list of internal notes added to the given support ticket by admin staff, with optional search and ordering, requiring \"read\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicketNote"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support::Notes"
        ]
      },
      "post": {
        "operationId": "CreateSupportTicketNote",
        "summary": "Add an internal note to a support ticket",
        "description": "Adds an admin-only internal note to the specified support ticket, recording the authoring admin; requires \"update\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SupportTicketNoteCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SupportTicket"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support::Notes"
        ]
      }
    },
    "/supportTickets/{supportTicketId}/notes/{noteId}": {
      "delete": {
        "operationId": "DeleteSupportTicketNote",
        "summary": "Delete a support ticket's internal note",
        "description": "Permanently removes an internal note from the specified support ticket; requires \"update\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "noteId",
            "schema": {
              "type": "string"
            },
            "description": "The note identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support::Notes"
        ]
      }
    },
    "/supportTickets/{supportTicketId}/viewer": {
      "get": {
        "operationId": "GetSupportTicketViewer",
        "summary": "List a support ticket's viewer/read records",
        "description": "Returns a paginated list of viewer records for the given support ticket, showing which org members have seen it and their last-read timestamp, optionally filtered to a single orgMembershipId, requiring \"read\" permission on support.",
        "parameters": [
          {
            "in": "path",
            "name": "supportTicketId",
            "schema": {
              "type": "string"
            },
            "description": "The supportTicket identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "orgMembershipId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by orgMembershipId",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SupportTicketViewer"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Support"
        ]
      }
    },
    "/surveys": {
      "get": {
        "operationId": "GetSurveys",
        "summary": "List surveys",
        "description": "Returns a paginated list of surveys for the organization, optionally filtered by event, session, or status, with search and ordering support, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "query",
            "name": "eventId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by eventId",
            "required": false
          },
          {
            "in": "query",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sessionId",
            "required": false
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/SurveyStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Survey"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      },
      "post": {
        "operationId": "CreateSurvey",
        "summary": "Create a survey",
        "description": "Creates a new survey for the organization, optionally attaching it to an event (and, in turn, an event activation); requires the create surveys permission.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Survey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      }
    },
    "/surveys/{surveyId}": {
      "get": {
        "operationId": "GetSurvey",
        "summary": "Get a survey",
        "description": "Retrieves a single survey by ID or slug, including its configuration and metadata, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Survey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      },
      "put": {
        "operationId": "UpdateSurvey",
        "summary": "Update a survey",
        "description": "Updates the survey identified by surveyId, including its details and optional event/activation linkage, and returns the updated survey; requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Survey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      },
      "delete": {
        "operationId": "DeleteSurvey",
        "summary": "Delete a survey",
        "description": "Permanently deletes the survey identified by surveyId, including its sections, questions, and submissions; requires delete permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      }
    },
    "/surveys/{surveyId}/questions": {
      "get": {
        "operationId": "GetSurveyQuestions",
        "summary": "List a survey's questions",
        "description": "Returns a paginated list of all questions defined on a survey, ordered by sort order and supporting search by name, label, or description; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "post": {
        "operationId": "CreateSurveyQuestion",
        "summary": "Create a survey question",
        "description": "Creates a new question on the given survey, optionally placing it in a section or as a sub-question of another question's choice and inserting it at a given sort order, requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}": {
      "get": {
        "operationId": "GetSurveyQuestion",
        "summary": "Get a survey question",
        "description": "Returns the details of a single question on a survey, identified by survey and question ID; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyQuestion",
        "summary": "Update a survey question",
        "description": "Updates a question's fields (such as name, description, type, or required flag) on the given survey, and reorders it among the survey's other questions when a new sortOrder is provided; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveyQuestion",
        "summary": "Delete a survey question",
        "description": "Permanently deletes the given question from the survey and re-sorts the remaining questions to fill the gap, requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by sectionId",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices": {
      "get": {
        "operationId": "GetSurveyQuestionChoices",
        "summary": "List a survey question's choices",
        "description": "Returns a paginated list of the answer choices defined for a survey question, ordered by sort order and supporting search by choice value; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionChoice"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "post": {
        "operationId": "CreateSurveyQuestionChoice",
        "summary": "Create a choice for a survey question",
        "description": "Creates a new selectable answer choice for the given survey question, inserting it at the requested sort order among existing choices and requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionChoiceCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/reorder": {
      "put": {
        "operationId": "ReorderSurveyQuestionChoices",
        "summary": "Reorder a survey question's choices",
        "description": "Sets the display order of a survey question's answer choices to match the given full list of choice IDs, rejecting the request if any choice is missing or unknown, and requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "choicesIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "choicesIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionChoice"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}": {
      "get": {
        "operationId": "GetSurveyQuestionChoice",
        "summary": "Get a survey question choice",
        "description": "Returns the details of a single answer choice belonging to a survey question, identified by survey, question, and choice ID; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyQuestionChoice",
        "summary": "Update a survey question choice",
        "description": "Updates a choice (such as its label or value) belonging to a survey question, and reorders it among the question's other choices when a new sortOrder is provided; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionChoiceUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveyQuestionChoice",
        "summary": "Delete a survey question choice",
        "description": "Permanently deletes the given answer choice from a survey question and re-sorts the remaining choices, rejecting the deletion if the question is a checkbox type that already has responses, and requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}/subQuestions": {
      "get": {
        "operationId": "GetSurveyQuestionChoiceSubQuestions",
        "summary": "List a choice's follow-up sub-questions",
        "description": "Returns a paginated list of the conditional sub-questions that are triggered when a given survey question choice is selected, supporting search by sub-question name or label; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionChoiceSubQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}/subQuestions/reorder": {
      "put": {
        "operationId": "ReorderSurveyQuestionChoiceSubQuestions",
        "summary": "Reorder a choice's follow-up sub-questions",
        "description": "Sets the display order of the follow-up sub-questions attached to a survey question choice to match the given full list of question IDs, rejecting the request if any sub-question is missing or unknown, and requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionChoiceSubQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}/subQuestions/{subQuestionId}": {
      "post": {
        "operationId": "AddSurveyQuestionChoiceSubQuestion",
        "summary": "Attach a follow-up sub-question to a choice",
        "description": "Links an existing survey question as a sub-question of the given answer choice so it is presented as a follow-up when that choice is selected, requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyQuestionChoiceSubQuestion",
        "summary": "Reorder a choice's sub-question",
        "description": "Changes the sort order of a sub-question linked to a survey question choice, shifting the other sub-questions attached to that choice to keep ordering consistent; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestionChoice"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "delete": {
        "operationId": "RemoveSurveyQuestionChoiceSubQuestion",
        "summary": "Remove a follow-up sub-question from a choice",
        "description": "Unlinks a sub-question from the given answer choice so it is no longer shown as a follow-up when that choice is selected, re-sorting the remaining sub-questions, and requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "subQuestionId",
            "schema": {
              "type": "string"
            },
            "description": "The subQuestion identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}/translations": {
      "get": {
        "operationId": "GetSurveyQuestionChoiceTranslations",
        "summary": "List a survey question choice's translations",
        "description": "Returns a paginated list of locale translations for the given survey question choice, with optional search and ordering, requiring \"read\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionChoiceTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/choices/{choiceId}/translations/{locale}": {
      "get": {
        "operationId": "GetSurveyQuestionChoiceTranslation",
        "summary": "Get a survey question choice's translation",
        "description": "Returns the translated text for a single survey question choice in the given locale, or null if no translation exists for that locale, requiring \"read\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SurveyQuestionChoiceTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyQuestionChoiceTranslation",
        "summary": "Update a survey question choice's translation",
        "description": "Creates or updates the translated text for a specific locale on a survey question's answer choice; requires \"update\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionChoiceTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveyQuestionChoiceTranslation",
        "summary": "Delete a survey question choice's translation",
        "description": "Removes the translated text for a specific locale on a survey question's answer choice; requires \"update\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "choiceId",
            "schema": {
              "type": "string"
            },
            "description": "The choice identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/matrixRows": {
      "get": {
        "operationId": "GetSurveyQuestionMatrixRows",
        "summary": "List a matrix question's rows",
        "description": "Returns a paginated list of the row questions that belong to a matrix survey question, ordered by their matrix sort order and supporting search by row name, label, or description; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/matrixRows/reorder": {
      "put": {
        "operationId": "ReorderSurveyQuestionMatrixRows",
        "summary": "Reorder a matrix question's rows",
        "description": "Sets the display order of the rows belonging to a matrix survey question to match the given full list of row IDs, rejecting the request if any row is missing or unknown, and requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "rowIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "rowIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/responses": {
      "get": {
        "operationId": "GetSurveyQuestionResponses",
        "summary": "List responses to a survey question",
        "description": "Returns a paginated list of submitted responses for a survey question from completed submissions, supporting search by respondent name or email; file-upload responses include a temporary signed download URL, and read access to the surveys module is required.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionResponse"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/searchlist": {
      "put": {
        "operationId": "AttachSurveyQuestionSearchList",
        "summary": "Attach a search list to a survey question",
        "description": "Sets the given search list as the source of selectable options for the specified survey question, verifying the search list belongs to the organization and requiring update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AttachSearchListInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      },
      "delete": {
        "operationId": "DetachSurveyQuestionSearchList",
        "summary": "Detach the search list from a survey question",
        "description": "Removes the search list association from the given survey question, clearing its search-list-driven option source, and requires update permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveyQuestion"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/translations": {
      "get": {
        "operationId": "GetSurveyQuestionTranslations",
        "summary": "List a survey question's translations",
        "description": "Returns a paginated list of locale translations for a survey question, supporting search and ordering; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/questions/{questionId}/translations/{locale}": {
      "get": {
        "operationId": "GetSurveyQuestionTranslation",
        "summary": "Get a survey question's translation",
        "description": "Returns the translated text for a single survey question in the given locale, or null if no translation exists for that locale, requiring \"read\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SurveyQuestionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyQuestionTranslation",
        "summary": "Update a survey question's translation",
        "description": "Creates or updates the translated text for a specific locale on a survey question; requires \"update\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyQuestionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveyQuestionTranslation",
        "summary": "Delete a survey question's translation",
        "description": "Removes the translated text for a specific locale on a survey question; requires \"update\" permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Questions::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/sections": {
      "get": {
        "operationId": "GetSurveySections",
        "summary": "List a survey's sections",
        "description": "Returns a paginated list of the sections defined on a survey, ordered by their sort order, with optional search, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      },
      "post": {
        "operationId": "CreateSurveySection",
        "summary": "Create a survey section",
        "description": "Creates a new section on the given survey, inserting it at the requested sortOrder position (or at the end if omitted) and shifting the other sections accordingly; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveySectionCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}": {
      "get": {
        "operationId": "GetSurveySection",
        "summary": "Get a survey section",
        "description": "Returns the details of a single section within a survey, identified by survey and section ID; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateSurveySection",
        "summary": "Update a survey section",
        "description": "Updates a section of a survey, such as its title, description, or sort order (reordering it relative to the survey's other sections); requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveySectionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveySection",
        "summary": "Delete a survey section",
        "description": "Permanently removes a section from the given survey and re-sorts the remaining sections to close the resulting gap; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}/questions": {
      "get": {
        "operationId": "GetSurveySectionQuestions",
        "summary": "List a survey section's questions",
        "description": "Returns a paginated list of questions assigned to a specific section of a survey, with optional search and ordering, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySectionQuestion"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}/questions/reorder": {
      "put": {
        "operationId": "ReorderSurveySectionQuestions",
        "summary": "Reorder a survey section's questions",
        "description": "Sets the sort order of all questions within a survey section by applying the given full, complete ordered list of question IDs; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "questionIds": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "questionIds"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySectionQuestion"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}/questions/{questionId}": {
      "post": {
        "operationId": "AddSurveySectionQuestion",
        "summary": "Add a question to a survey section",
        "description": "Links an existing survey question to a section, appending it to the end of that section's question order; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      },
      "put": {
        "operationId": "UpdateSurveySectionQuestion",
        "summary": "Reorder a question within a survey section",
        "description": "Updates the sort order of a question inside a survey section, shifting the other questions in that section to accommodate the new position; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sortOrder": {
                    "type": "number"
                  }
                },
                "required": [
                  "sortOrder"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      },
      "delete": {
        "operationId": "RemoveSurveySectionQuestion",
        "summary": "Remove a question from a survey section",
        "description": "Unlinks a question from a survey section without deleting the question itself, removing it from that section's ordered question list; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySection"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}/translations": {
      "get": {
        "operationId": "GetSurveySectionTranslations",
        "summary": "List a survey section's translations",
        "description": "Returns a paginated list of locale translations for a survey section, supporting search and ordering; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySectionTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/sections/{sectionId}/translations/{locale}": {
      "get": {
        "operationId": "GetSurveySectionTranslation",
        "summary": "Get a survey section's translation",
        "description": "Returns the translated text for a survey section in a single locale, or null if no translation exists for that locale; requires read access to the surveys module.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SurveySectionTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSurveySectionTranslation",
        "summary": "Update a survey section translation",
        "description": "Creates or updates the translated content (such as the title) for a survey section in the given locale, upserting the translation record if it does not already exist; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveySectionTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveySectionTranslation",
        "summary": "Delete a survey section translation",
        "description": "Removes the translation for a survey section in the given locale, reverting that section's display for that locale to the default language; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sectionId",
            "schema": {
              "type": "string"
            },
            "description": "The section identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sections::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/sessions": {
      "get": {
        "operationId": "GetSurveySessions",
        "summary": "List a survey's linked event sessions",
        "description": "Returns a paginated list of event sessions associated with the given survey, supporting search and ordering; requires read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/EventSession"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys"
        ]
      }
    },
    "/surveys/{surveyId}/sessions/{sessionId}": {
      "post": {
        "operationId": "AddSurveySession",
        "summary": "Attach a session to a survey",
        "description": "Associates an event session with a survey so the survey can be restricted to (or offered during) that session; the survey must already be linked to an event, and this requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Survey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sessions"
        ]
      },
      "delete": {
        "operationId": "RemoveSurveySession",
        "summary": "Detach a session from a survey",
        "description": "Removes the association between an event session and a survey, so the survey is no longer restricted to (or offered during) that session; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "sessionId",
            "schema": {
              "type": "string"
            },
            "description": "The session identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Survey"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Sessions"
        ]
      }
    },
    "/surveys/{surveyId}/submissions": {
      "get": {
        "operationId": "GetSurveySubmissions",
        "summary": "List a survey's submissions",
        "description": "Returns a paginated list of submissions for a survey, optionally filtered by purchase status, with search and ordering support, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/PurchaseStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySubmission"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      }
    },
    "/surveys/{surveyId}/submissions/{submissionId}": {
      "get": {
        "operationId": "GetSurveySubmission",
        "summary": "Get a survey submission",
        "description": "Retrieves a single survey submission by ID for the given survey, including its responses, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySubmission"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      },
      "put": {
        "operationId": "UpdateSurveySubmission",
        "summary": "Update a survey submission",
        "description": "Updates a survey submission's status (e.g. flagging it as needing info), or its associated account or event pass; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveySubmissionUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/SurveySubmission"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveySubmission",
        "summary": "Delete a survey submission",
        "description": "Permanently deletes a respondent's submission (and its answers) for a survey; requires the delete surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      }
    },
    "/surveys/{surveyId}/submissions/{submissionId}/responses": {
      "put": {
        "operationId": "UpdateSurveySubmissionResponses",
        "summary": "Replace a submission's question responses",
        "description": "Overwrites all of a survey submission's question responses with the provided question/value pairs, discarding any prior answers to that submission; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      }
    },
    "/surveys/{surveyId}/submissions/{submissionId}/responses/{questionId}/changes": {
      "get": {
        "operationId": "GetSurveySubmissionResponseChanges",
        "summary": "List the edit history of a submission response",
        "description": "Returns a paginated audit trail of changes made to a specific question's response within a survey submission, with optional search and ordering, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "questionId",
            "schema": {
              "type": "string"
            },
            "description": "The question identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyQuestionResponseChange"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      }
    },
    "/surveys/{surveyId}/submissions/{submissionId}/sections": {
      "get": {
        "operationId": "GetSurveySubmissionQuestionSections",
        "summary": "List a submission's sections, questions, and choices",
        "description": "Returns the survey's sections along with their questions and answer choices for a specific submission, used to render the full submission form, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "submissionId",
            "schema": {
              "type": "string"
            },
            "description": "The submission identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveySection"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Submissions"
        ]
      }
    },
    "/surveys/{surveyId}/translations": {
      "get": {
        "operationId": "GetSurveyTranslations",
        "summary": "List a survey's translations",
        "description": "Returns a paginated list of the locale translations available for a survey, with optional search and ordering, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SurveyTranslation"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Translations"
        ]
      }
    },
    "/surveys/{surveyId}/translations/{locale}": {
      "get": {
        "operationId": "GetSurveyTranslation",
        "summary": "Get a survey's translation for a locale",
        "description": "Retrieves the translated text fields for a survey in a specific locale, returning null if no translation exists for that locale, requiring read permission on surveys.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/SurveyTranslation"
                        }
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Translations"
        ]
      },
      "put": {
        "operationId": "UpdateSurveyTranslation",
        "summary": "Create or update a survey's translation",
        "description": "Upserts the translated content (such as name and description) for a survey in the given locale, creating the translation if it does not already exist; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SurveyTranslationUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Translations"
        ]
      },
      "delete": {
        "operationId": "DeleteSurveyTranslation",
        "summary": "Delete a survey's translation",
        "description": "Removes the translated content for a survey in the given locale, leaving the survey's default-locale content unaffected; requires the update surveys permission.",
        "parameters": [
          {
            "in": "path",
            "name": "surveyId",
            "schema": {
              "type": "string"
            },
            "description": "The survey identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "locale",
            "schema": {
              "type": "string"
            },
            "description": "The locale identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Surveys::Translations"
        ]
      }
    },
    "/threads": {
      "get": {
        "operationId": "GetThreads",
        "summary": "List threads",
        "description": "Returns a paginated list of an organization's message threads for admin moderation, with optional filtering by thread type and search; requires read permission on threads.",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "schema": {
              "$ref": "#/components/schemas/ThreadType"
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Thread"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads"
        ]
      },
      "post": {
        "operationId": "CreateThread",
        "summary": "Create a new message thread",
        "description": "Creates a new thread for direct or group messaging between accounts; requires the \"read\" and \"create\" permissions on threads.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Thread"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads"
        ]
      }
    },
    "/threads/{threadId}": {
      "get": {
        "operationId": "GetThread",
        "summary": "Get a thread",
        "description": "Returns the details of a single thread by id, including its participants and metadata; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Thread"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads"
        ]
      },
      "put": {
        "operationId": "UpdateThread",
        "summary": "Update a thread's details",
        "description": "Updates properties of an existing thread, such as its name or type; requires the \"read\" and \"update\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Thread"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads"
        ]
      },
      "delete": {
        "operationId": "DeleteThread",
        "summary": "Delete a thread",
        "description": "Permanently deletes a thread and its associated data as part of admin moderation; requires the \"read\" and \"del\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads"
        ]
      }
    },
    "/threads/{threadId}/accounts": {
      "get": {
        "operationId": "GetThreadAccounts",
        "summary": "List a thread's participant accounts",
        "description": "Returns a paginated list of accounts participating in the given thread, supporting search and ordering; requires read permission on threads and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadAccount"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Accounts"
        ]
      },
      "post": {
        "operationId": "AddThreadAccounts",
        "summary": "Add accounts to a thread",
        "description": "Adds the given account IDs as participants of the thread identified by threadId, restoring any that previously left, up to a 32-participant limit; not allowed on direct message threads and requires update permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadAccountsAddInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadAccount"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Accounts"
        ]
      }
    },
    "/threads/{threadId}/accounts/{threadAccountId}": {
      "put": {
        "operationId": "UpdateThreadAccount",
        "summary": "Update a thread participant",
        "description": "Updates participant-level metadata (such as notification preference or blocked status) for the thread account identified by threadAccountId within the thread identified by threadId; requires update permission on threads and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "threadAccountId",
            "schema": {
              "type": "string"
            },
            "description": "The threadAccount identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadAccountUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadAccount"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Accounts"
        ]
      },
      "delete": {
        "operationId": "DeleteThreadAccount",
        "summary": "Remove an account from a thread",
        "description": "Soft-removes the participant identified by threadAccountId from the thread identified by threadId by marking them as having left, preserving their message history; requires update permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "threadAccountId",
            "schema": {
              "type": "string"
            },
            "description": "The threadAccount identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Accounts"
        ]
      }
    },
    "/threads/{threadId}/messages": {
      "get": {
        "operationId": "GetThreadMessages",
        "summary": "List a thread's messages",
        "description": "Returns a cursor-paginated list of messages in the given thread, ordered by send time, with optional search; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadMessage"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      },
      "post": {
        "operationId": "CreateThreadMessage",
        "summary": "Post a new message to a thread",
        "description": "Creates a new message in the specified thread on behalf of the given account; requires the \"read\" and \"update\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadMessageCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      }
    },
    "/threads/{threadId}/messages/poll": {
      "get": {
        "operationId": "GetThreadMessagesPoll",
        "summary": "Poll a thread for new messages",
        "description": "Returns any messages sent in the given thread after the provided lastMessageId, for lightweight polling-based updates; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "lastMessageId",
            "schema": {
              "type": "string"
            },
            "description": "Filter by lastMessageId",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadMessage"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}": {
      "get": {
        "operationId": "GetThreadMessage",
        "summary": "Get a single thread message",
        "description": "Returns a single message from the given thread by its ID; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      },
      "put": {
        "operationId": "UpdateThreadMessage",
        "summary": "Edit a thread message",
        "description": "Updates the content of an existing message within a thread; requires the \"read\" and \"update\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ThreadMessageUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      },
      "delete": {
        "operationId": "DeleteThreadMessage",
        "summary": "Delete a message from a thread",
        "description": "Deletes a message from a thread, soft-deleting it if it has reply children or removing it outright otherwise; requires the \"read\" and \"del\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/files": {
      "get": {
        "operationId": "GetThreadMessageFiles",
        "summary": "List a thread message's attached files",
        "description": "Returns a paginated list of files attached to the given thread message, supporting search and ordering; requires read permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/File"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Files"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/files/{fileId}": {
      "post": {
        "operationId": "CreateThreadMessageFile",
        "summary": "Attach a file to a thread message",
        "description": "Connects an existing uploaded file, identified by fileId, to the thread message identified by messageId within the given threadId and returns the updated message; requires update permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "fileId",
            "schema": {
              "type": "string"
            },
            "description": "The file identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Files"
        ]
      },
      "delete": {
        "operationId": "DeleteThreadMessageFile",
        "summary": "Remove a file from a thread message",
        "description": "Disconnects the file identified by fileId from the thread message identified by messageId within the given threadId, without deleting the underlying file; requires update permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "fileId",
            "schema": {
              "type": "string"
            },
            "description": "The file identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Files"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/images": {
      "get": {
        "operationId": "GetThreadMessageImages",
        "summary": "List a thread message's attached images",
        "description": "Returns a paginated list of images attached to the given thread message, supporting search and ordering; requires read permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Image"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Images"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/images/{imageId}": {
      "post": {
        "operationId": "CreateThreadMessageImage",
        "summary": "Attach an image to a thread message",
        "description": "Connects an existing uploaded image, identified by imageId, to the thread message identified by messageId within the given threadId and returns the updated message; requires update permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Images"
        ]
      },
      "delete": {
        "operationId": "DeleteThreadMessageImage",
        "summary": "Remove an image from a thread message",
        "description": "Disconnects the image identified by imageId from the thread message identified by messageId within the given threadId, without deleting the underlying image; requires update permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "imageId",
            "schema": {
              "type": "string"
            },
            "description": "The image identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Images"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/reactions": {
      "get": {
        "operationId": "GetThreadMessageReactions",
        "summary": "List a thread message's reactions",
        "description": "Returns a paginated list of reactions left on the given thread message, supporting ordering; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ThreadMessageReaction"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Reactions"
        ]
      },
      "post": {
        "operationId": "CreateThreadMessageReaction",
        "summary": "Add a reaction to a thread message",
        "description": "Creates an emoji reaction from the given accountId on the thread message identified by messageId within the given threadId and returns the created reaction; requires update permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ThreadMessageReactionCreateInputs"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "accountId": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "accountId"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessageReaction"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Reactions"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/reactions/{reactionId}": {
      "delete": {
        "operationId": "DeleteThreadMessageReaction",
        "summary": "Remove a reaction from a thread message",
        "description": "Deletes a specific emoji reaction from a message in a thread; requires the \"read\" and \"update\" permissions on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "reactionId",
            "schema": {
              "type": "string"
            },
            "description": "The reaction identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Reactions"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/videos": {
      "get": {
        "operationId": "GetThreadMessageVideos",
        "summary": "List a thread message's attached videos",
        "description": "Returns a paginated list of videos attached to the given thread message, supporting search and ordering; requires read permission on threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Videos"
        ]
      }
    },
    "/threads/{threadId}/messages/{messageId}/videos/{videoId}": {
      "post": {
        "operationId": "CreateThreadMessageVideo",
        "summary": "Attach a video to a thread message",
        "description": "Connects an existing uploaded video to a message in a thread; requires the \"read\" and \"update\" permissions on both threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/ThreadMessage"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Videos"
        ]
      },
      "delete": {
        "operationId": "DeleteThreadMessageVideo",
        "summary": "Detach a video from a thread message",
        "description": "Disconnects a previously attached video from a message in a thread without deleting the underlying video file; requires the \"read\" and \"update\" permissions on both threads and storage.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "messageId",
            "schema": {
              "type": "string"
            },
            "description": "The message identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Messages::Videos"
        ]
      }
    },
    "/threads/{threadId}/storage/files": {
      "get": {
        "operationId": "GetThreadStorageFiles",
        "summary": "List a thread's stored files",
        "description": "Returns a paginated list of files stored in the given thread's shared storage, supporting search; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/File"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Storage"
        ]
      }
    },
    "/threads/{threadId}/storage/images": {
      "get": {
        "operationId": "GetThreadStorageImages",
        "summary": "List images shared in a thread",
        "description": "Returns a paginated list of images attached to messages within the given thread, supporting search by image id, name, or description; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Image"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Storage"
        ]
      }
    },
    "/threads/{threadId}/storage/videos": {
      "get": {
        "operationId": "GetThreadStorageVideos",
        "summary": "List videos shared in a thread",
        "description": "Returns a paginated list of videos attached to messages within the given thread, supporting search by video id, name, or description; requires read permission on threads.",
        "parameters": [
          {
            "in": "path",
            "name": "threadId",
            "schema": {
              "type": "string"
            },
            "description": "The thread identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Threads::Storage"
        ]
      }
    },
    "/tiers": {
      "get": {
        "operationId": "GetTiers",
        "summary": "List account tiers",
        "description": "Returns a paginated list of an organization's account tiers, optionally filtered by type (external or internal), archived status, and search; requires read permission on tiers.",
        "parameters": [
          {
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string",
              "enum": [
                "external",
                "internal"
              ]
            },
            "description": "Filter by type",
            "required": false
          },
          {
            "in": "query",
            "name": "archived",
            "schema": {
              "type": "boolean"
            },
            "description": "Filter by archived",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Tier"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      },
      "post": {
        "operationId": "CreateTier",
        "summary": "Create a new account tier",
        "description": "Creates a new account tier (membership level) for the organization, used to group accounts for access or pricing purposes; requires the \"read\" and \"create\" permissions on tiers.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TierCreateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Tier"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/tiers/{tierId}": {
      "get": {
        "operationId": "GetTier",
        "summary": "Get an account tier",
        "description": "Returns the details of a single account tier by id; requires read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Tier"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      },
      "put": {
        "operationId": "UpdateTier",
        "summary": "Update an account tier",
        "description": "Updates the fields of an existing account tier identified by tierId, requiring read and update permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TierUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Tier"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      },
      "delete": {
        "operationId": "DeleteTier",
        "summary": "Delete an account tier",
        "description": "Permanently deletes the specified account tier from the organization, requiring the delete permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/tiers/{tierId}/accounts": {
      "get": {
        "operationId": "GetTierAccounts",
        "summary": "List accounts assigned to a tier",
        "description": "Returns a paginated list of accounts assigned to the given account tier, supporting search; requires read permission on both tiers and accounts.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Account"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      },
      "delete": {
        "operationId": "RemoveTierAccounts",
        "summary": "Remove all accounts from a tier",
        "description": "Unassigns every account currently associated with the given tier, clearing its account list entirely, and requires read/update permission on accounts plus read/delete permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Tier"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/tiers/{tierId}/imports": {
      "get": {
        "operationId": "GetTierImports",
        "summary": "List account tier imports",
        "description": "Returns a paginated list of bulk import jobs used to assign accounts to the given account tier, supporting search; requires read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Import"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/tiers/{tierId}/imports/{importId}": {
      "get": {
        "operationId": "GetTierImport",
        "summary": "Get an account tier import",
        "description": "Returns the details and status of a single account-tier bulk import job by id for the given tier; requires read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "importId",
            "schema": {
              "type": "string"
            },
            "description": "The import identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Import"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/tiers/{tierId}/imports/{importId}/items": {
      "get": {
        "operationId": "GetTierImportItems",
        "summary": "List rows of an account tier import",
        "description": "Returns a paginated list of individual row items belonging to a given account-tier import job, including their processing status, supporting search; requires read permission on tiers.",
        "parameters": [
          {
            "in": "path",
            "name": "tierId",
            "schema": {
              "type": "string"
            },
            "description": "The tier identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "importId",
            "schema": {
              "type": "string"
            },
            "description": "The import identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "status",
            "schema": {
              "$ref": "#/components/schemas/ImportItemStatus"
            },
            "description": "Filter by status",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/ImportItem"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Tiers"
        ]
      }
    },
    "/videos": {
      "get": {
        "operationId": "GetVideos",
        "summary": "List an organization's videos",
        "description": "Returns a paginated list of the organization's uploaded and recorded videos, filterable by source (e.g. upload origin) and free-text search, and orderable via the orderBy param; requires read permission on storage.",
        "parameters": [
          {
            "in": "query",
            "name": "source",
            "schema": {
              "type": "string"
            },
            "description": "Filter by source",
            "required": false
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Video"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      }
    },
    "/videos/delete": {
      "post": {
        "operationId": "DeleteManyVideos",
        "summary": "Delete multiple videos",
        "description": "Deletes up to 10 videos at once, removing each from Cloudflare Stream and the database; requires the delete and read permissions on the storage module.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeleteManyVideosInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      }
    },
    "/videos/{videoId}": {
      "get": {
        "operationId": "GetVideo",
        "summary": "Get a video",
        "description": "Returns the details of a single stored video by ID; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Video"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      },
      "put": {
        "operationId": "UpdateVideo",
        "summary": "Update a video's metadata",
        "description": "Updates the name and/or thumbnail timestamp percentage of a video (identified by videoId) and syncs the change to the underlying Cloudflare Stream asset; requires the update permission on storage.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VideoUpdateInputs"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/Video"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      },
      "delete": {
        "operationId": "DeleteVideo",
        "summary": "Delete a video",
        "description": "Deletes a single video, removing it from Cloudflare Stream and the database; requires the delete and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      }
    },
    "/videos/{videoId}/captions": {
      "get": {
        "operationId": "GetVideoCaptions",
        "summary": "List a video's captions",
        "description": "Returns a paginated list of caption/subtitle tracks uploaded or generated for the given video, with support for search and ordering; requires \"read\" permission on \"storage\".",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "default": 1
            },
            "description": "Page number",
            "required": false
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            },
            "description": "Number of items per page",
            "required": false
          },
          {
            "in": "query",
            "name": "orderBy",
            "schema": {
              "type": "string"
            },
            "description": "Field to order by",
            "required": false
          },
          {
            "in": "query",
            "name": "search",
            "schema": {
              "type": "string"
            },
            "description": "Search query",
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/VideoCaption"
                      }
                    },
                    "count": {
                      "type": "integer",
                      "example": 100
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos::Captions"
        ]
      }
    },
    "/videos/{videoId}/captions/{language}": {
      "put": {
        "operationId": "UploadVideoCaptions",
        "summary": "Upload a caption file for a video",
        "description": "Uploads a WebVTT caption file (as base64 or a data URI) for a video in the given language, creating or replacing the caption track on Cloudflare Stream; requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "language",
            "schema": {
              "type": "string"
            },
            "description": "The language identifier",
            "required": true
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string"
                  },
                  "filename": {
                    "type": "string"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/VideoCaption"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos::Captions"
        ]
      },
      "delete": {
        "operationId": "DeleteVideoCaption",
        "summary": "Delete a video's caption track",
        "description": "Deletes the caption track for the given language from a video on Cloudflare Stream; requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "language",
            "schema": {
              "type": "string"
            },
            "description": "The language identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "nullable": true
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos::Captions"
        ]
      }
    },
    "/videos/{videoId}/captions/{language}/download": {
      "get": {
        "operationId": "DownloadVideoCaption",
        "summary": "Download a video's caption file",
        "description": "Fetches the caption track for the given language as a WebVTT (.vtt) file for a video; requires the read permission on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "language",
            "schema": {
              "type": "string"
            },
            "description": "The language identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos::Captions"
        ]
      }
    },
    "/videos/{videoId}/captions/{language}/generate": {
      "post": {
        "operationId": "GenerateVideoCaptions",
        "summary": "Auto-generate captions for a video",
        "description": "Triggers AI speech-to-text caption generation for a video in the given BCP 47 language (one of cs, nl, en, fr, de, it, ja, ko, pl, pt, ru, es); requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          },
          {
            "in": "path",
            "name": "language",
            "schema": {
              "type": "string"
            },
            "description": "The language identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "$ref": "#/components/schemas/VideoCaption"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos::Captions"
        ]
      }
    },
    "/videos/{videoId}/downloads": {
      "get": {
        "operationId": "GetVideoDownloadStatus",
        "summary": "Get a video's MP4 download status",
        "description": "Returns the current status of a Cloudflare Stream MP4 download preparation for the given video, including percent complete and, once ready, the download URL; requires read permission on storage.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      },
      "post": {
        "operationId": "InitiateVideoDownload",
        "summary": "Start MP4 download preparation for a video",
        "description": "Requests Cloudflare Stream to begin generating a downloadable MP4 rendition of the video and stores the resulting download URL once ready; requires the update and read permissions on the storage module.",
        "parameters": [
          {
            "in": "path",
            "name": "videoId",
            "schema": {
              "type": "string"
            },
            "description": "The video identifier",
            "required": true
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "ok"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "example": "Success message."
                    },
                    "data": {
                      "type": "object"
                    }
                  },
                  "required": [
                    "status",
                    "message",
                    "data"
                  ]
                }
              }
            }
          }
        },
        "tags": [
          "Storage::Videos"
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "api-key",
        "description": "All requests must include an API key."
      },
      "OrganizationId": {
        "type": "apiKey",
        "in": "header",
        "name": "organization",
        "description": "Most requests must include an organization ID."
      }
    },
    "schemas": {
      "OrganizationActionType": {
        "type": "string",
        "enum": [
          "create",
          "read",
          "update",
          "delete"
        ]
      },
      "ImportType": {
        "type": "string",
        "enum": [
          "account-tiers"
        ]
      },
      "TaxLocationType": {
        "type": "string",
        "enum": [
          "pointOfSale",
          "accountAddress"
        ]
      },
      "OrganizationModuleType": {
        "type": "string",
        "enum": [
          "activities",
          "events",
          "groups",
          "accounts",
          "channels",
          "threads",
          "storage",
          "support",
          "sponsors",
          "benefits",
          "interests",
          "advertisements",
          "invoices",
          "streams",
          "meetings"
        ]
      },
      "ModulesOrder": {
        "type": "string",
        "enum": [
          "activities",
          "events",
          "groups",
          "channels",
          "threads",
          "accounts",
          "bookings"
        ]
      },
      "LocationQuestionOption": {
        "type": "string",
        "enum": [
          "country",
          "countryState",
          "countryStateCity"
        ]
      },
      "OnSiteScanType": {
        "type": "string",
        "enum": [
          "both",
          "qr",
          "code128"
        ]
      },
      "BaseOrganizationModule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "moduleType": {
            "$ref": "#/components/schemas/OrganizationModuleType"
          },
          "superEnabled": {
            "type": "boolean"
          },
          "requireAuth": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "editable": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "moduleType",
          "superEnabled",
          "requireAuth",
          "enabled",
          "editable"
        ]
      },
      "OrganizationModule": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOrganizationModule"
          },
          {
            "type": "object",
            "properties": {
              "enabledTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "editableTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "options": {
                "type": "object",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "enabledTiers",
              "editableTiers",
              "options",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "Currency": {
        "type": "string",
        "enum": [
          "USD"
        ]
      },
      "ContentGuestType": {
        "type": "string",
        "enum": [
          "guest",
          "host",
          "author"
        ]
      },
      "PageType": {
        "type": "string",
        "enum": [
          "about",
          "privacy",
          "terms",
          "team"
        ]
      },
      "UserRole": {
        "type": "string",
        "enum": [
          "manager",
          "staff"
        ]
      },
      "AccountAccess": {
        "type": "string",
        "enum": [
          "FULL_ACCESS",
          "DELISTED",
          "RESTRICTED",
          "BANNED"
        ]
      },
      "PushService": {
        "type": "string",
        "enum": [
          "apn",
          "firebase",
          "huawei",
          "xiaomi"
        ]
      },
      "DelegateRole": {
        "type": "string",
        "enum": [
          "manager",
          "member"
        ]
      },
      "EventType": {
        "type": "string",
        "enum": [
          "physical",
          "virtual",
          "hybrid"
        ]
      },
      "EventSource": {
        "type": "string",
        "enum": [
          "admin",
          "moderator",
          "account"
        ]
      },
      "PassTypeVisibility": {
        "type": "string",
        "enum": [
          "public",
          "private"
        ]
      },
      "PassTypeAccessLevel": {
        "type": "string",
        "enum": [
          "regular",
          "virtual",
          "vip"
        ]
      },
      "EventAgendaVisibility": {
        "type": "string",
        "enum": [
          "everyone",
          "registered",
          "hidden"
        ]
      },
      "GroupAccess": {
        "type": "string",
        "enum": [
          "public",
          "private"
        ]
      },
      "GroupMembershipRole": {
        "type": "string",
        "enum": [
          "member",
          "moderator"
        ]
      },
      "NotificationType": {
        "type": "string",
        "enum": [
          "ANNOUNCEMENT",
          "FOLLOW",
          "INVITATION",
          "TRANSFER",
          "LIKE",
          "COMMENT",
          "EVENT",
          "ACTIVITY",
          "GROUP_INVITATION",
          "GROUP_REQUEST_ACCEPTED",
          "CONTENT",
          "SUPPORT_TICKET_MESSAGE",
          "MENTION"
        ]
      },
      "AdminNotificationType": {
        "type": "string",
        "enum": [
          "SUPPORT_TICKET_CREATED",
          "SUPPORT_TICKET_ASSIGNED",
          "SUPPORT_TICKET_MESSAGE"
        ]
      },
      "AdminNotificationSource": {
        "type": "string",
        "enum": [
          "SYSTEM",
          "ORG_MEMBER",
          "ACCOUNT"
        ]
      },
      "AdvertisementType": {
        "type": "string",
        "enum": [
          "square",
          "rectangle"
        ]
      },
      "ImageShape": {
        "type": "string",
        "enum": [
          "circle",
          "square"
        ]
      },
      "ImageType": {
        "type": "string",
        "enum": [
          "admin",
          "account",
          "thread",
          "content",
          "activity",
          "event",
          "activation"
        ]
      },
      "SupportTicketType": {
        "type": "string",
        "enum": [
          "support",
          "feedback",
          "bug"
        ]
      },
      "SupportTicketState": {
        "type": "string",
        "enum": [
          "new",
          "inProgress",
          "resolved",
          "spam",
          "archived"
        ]
      },
      "SupportTicketActivityType": {
        "type": "string",
        "enum": [
          "created",
          "statusChanged",
          "typeChanged",
          "assignedUserChanged",
          "eventLinked"
        ]
      },
      "SupportTicketActivitySource": {
        "type": "string",
        "enum": [
          "SYSTEM",
          "ACCOUNT",
          "ORG_MEMBER"
        ]
      },
      "SupportTicketMessageSource": {
        "type": "string",
        "enum": [
          "ACCOUNT",
          "ORG_MEMBER",
          "SYSTEM"
        ]
      },
      "ChannelFormat": {
        "type": "string",
        "enum": [
          "article",
          "podcast",
          "video"
        ]
      },
      "ContentStatus": {
        "type": "string",
        "enum": [
          "draft",
          "published"
        ]
      },
      "VideoStatus": {
        "type": "string",
        "enum": [
          "pendingupload",
          "downloading",
          "queued",
          "inprogress",
          "ready",
          "error"
        ]
      },
      "RegistrationQuestionType": {
        "type": "string",
        "enum": [
          "text",
          "textarea",
          "number",
          "date",
          "toggle",
          "select",
          "radio",
          "checkbox",
          "search",
          "file",
          "location"
        ]
      },
      "OrganizationTriggerType": {
        "type": "string",
        "enum": [
          "postAuth"
        ]
      },
      "AuthLayout": {
        "type": "string",
        "enum": [
          "default",
          "social"
        ]
      },
      "DefaultAuthAction": {
        "type": "string",
        "enum": [
          "signIn",
          "signUp"
        ]
      },
      "FileSource": {
        "type": "string",
        "enum": [
          "admin",
          "response",
          "content",
          "thread"
        ]
      },
      "AccountAttributeType": {
        "type": "string",
        "enum": [
          "text",
          "number",
          "date",
          "boolean",
          "search",
          "select",
          "location"
        ]
      },
      "BaseAccountAttribute": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/AccountAttributeType"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "adminOnly": {
            "type": "boolean"
          },
          "editable": {
            "type": "boolean"
          },
          "public": {
            "type": "boolean"
          },
          "subline": {
            "type": "boolean"
          },
          "includedInDashboards": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number"
          },
          "locationOption": {
            "$ref": "#/components/schemas/LocationQuestionOption"
          }
        },
        "required": [
          "id",
          "name",
          "label",
          "type",
          "description",
          "required",
          "adminOnly",
          "editable",
          "public",
          "subline",
          "includedInDashboards",
          "sortOrder",
          "locationOption"
        ]
      },
      "AccountAttribute": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAccountAttribute"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "values": {
                    "type": "number"
                  }
                },
                "required": [
                  "values"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BaseAccountAttributeValue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "attributeId": {
            "type": "string"
          },
          "attribute": {
            "$ref": "#/components/schemas/BaseAccountAttribute"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "attributeId",
          "attribute",
          "value"
        ]
      },
      "AccountAttributeValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAccountAttributeValue"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseAccount": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "accountAccess": {
            "$ref": "#/components/schemas/AccountAccess"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "username": {
            "type": "string"
          },
          "imageId": {
            "type": "string"
          },
          "image": {
            "$ref": "#/components/schemas/BaseImage"
          },
          "featured": {
            "type": "boolean"
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string"
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "internalRefIdVerified": {
            "type": "boolean"
          },
          "accountTiers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseTier"
            }
          },
          "chatConnected": {
            "type": "boolean"
          },
          "attributes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountAttributeValue"
            }
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "organizationId",
          "id",
          "accountAccess",
          "firstName",
          "lastName",
          "email",
          "verified",
          "username",
          "imageId",
          "image",
          "featured",
          "timezone",
          "locale",
          "country",
          "internalRefId",
          "internalRefIdVerified",
          "accountTiers",
          "chatConnected",
          "createdAt"
        ]
      },
      "Account": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAccount"
          },
          {
            "type": "object",
            "properties": {
              "bannerId": {
                "type": "string",
                "nullable": true
              },
              "banner": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "interests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseInterest"
                }
              },
              "bio": {
                "type": "string",
                "nullable": true
              },
              "website": {
                "type": "string",
                "nullable": true
              },
              "facebook": {
                "type": "string",
                "nullable": true
              },
              "twitter": {
                "type": "string",
                "nullable": true
              },
              "instagram": {
                "type": "string",
                "nullable": true
              },
              "linkedIn": {
                "type": "string",
                "nullable": true
              },
              "tikTok": {
                "type": "string",
                "nullable": true
              },
              "video": {
                "type": "string",
                "nullable": true
              },
              "youtube": {
                "type": "string",
                "nullable": true
              },
              "dietaryRestrictions": {
                "type": "string",
                "nullable": true
              },
              "taxEntityUseCode": {
                "type": "string",
                "nullable": true
              },
              "attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AccountAttributeValue"
                }
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "bannerId",
              "banner",
              "phone",
              "interests",
              "bio",
              "website",
              "facebook",
              "twitter",
              "instagram",
              "linkedIn",
              "tikTok",
              "video",
              "youtube",
              "dietaryRestrictions",
              "taxEntityUseCode",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseAccountInvitation": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "email",
          "createdAt"
        ]
      },
      "AccountInvitation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAccountInvitation"
          }
        ]
      },
      "BaseAccountAddress": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "primary": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "primary",
          "name",
          "address1",
          "address2",
          "city",
          "state",
          "country",
          "zip"
        ]
      },
      "AccountAddress": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAccountAddress"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseAPILog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "login": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseLogin"
              }
            ],
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseUser"
              }
            ],
            "nullable": true
          },
          "source": {
            "type": "string",
            "enum": [
              "admin",
              "client"
            ]
          },
          "clientSource": {
            "type": "string",
            "nullable": true
          },
          "clientVersion": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "string",
            "enum": [
              "success",
              "failure"
            ]
          },
          "statusCode": {
            "type": "number"
          },
          "response": {
            "type": "string",
            "nullable": true
          },
          "path": {
            "type": "string"
          },
          "method": {
            "type": "string"
          },
          "deviceType": {
            "type": "string",
            "nullable": true
          },
          "ipaddress": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "login",
          "account",
          "user",
          "source",
          "clientSource",
          "clientVersion",
          "status",
          "statusCode",
          "response",
          "path",
          "method",
          "deviceType",
          "ipaddress",
          "country",
          "createdAt"
        ]
      },
      "APILog": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAPILog"
          },
          {
            "type": "object",
            "properties": {
              "error": {
                "type": "object",
                "nullable": true
              },
              "headers": {
                "type": "object",
                "nullable": true
              },
              "params": {
                "type": "object",
                "nullable": true
              },
              "query": {
                "type": "object",
                "nullable": true
              },
              "body": {
                "type": "object",
                "nullable": true
              },
              "updatedAt": {
                "type": "string"
              },
              "architecture": {
                "type": "string",
                "nullable": true
              },
              "browser": {
                "type": "string",
                "nullable": true
              },
              "browserVersion": {
                "type": "string",
                "nullable": true
              },
              "deviceModel": {
                "type": "string",
                "nullable": true
              },
              "deviceVendor": {
                "type": "string",
                "nullable": true
              },
              "engine": {
                "type": "string",
                "nullable": true
              },
              "engineVersion": {
                "type": "string",
                "nullable": true
              },
              "osName": {
                "type": "string",
                "nullable": true
              },
              "osVersion": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "error",
              "headers",
              "params",
              "query",
              "body",
              "updatedAt",
              "architecture",
              "browser",
              "browserVersion",
              "deviceModel",
              "deviceVendor",
              "engine",
              "engineVersion",
              "osName",
              "osVersion"
            ]
          }
        ]
      },
      "AuthSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "organizationId": {
            "type": "string"
          },
          "login": {
            "$ref": "#/components/schemas/BaseLogin"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "createdAt"
        ]
      },
      "BaseTier": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "iconName": {
            "type": "string"
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "internal": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "slug",
          "priority",
          "name",
          "iconName",
          "color",
          "internal",
          "private",
          "imageId",
          "image"
        ]
      },
      "Tier": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTier"
          },
          {
            "type": "object",
            "properties": {
              "description": {
                "type": "string",
                "nullable": true
              },
              "exclusionGroup": {
                "type": "string",
                "nullable": true
              },
              "archived": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "accounts": {
                    "type": "number"
                  }
                },
                "required": [
                  "accounts"
                ]
              }
            },
            "required": [
              "description",
              "exclusionGroup",
              "archived",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BaseActivationCompletion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "eventActivationId": {
            "type": "string"
          },
          "eventActivation": {
            "$ref": "#/components/schemas/BaseEventActivation"
          },
          "earnedPoints": {
            "type": "number"
          },
          "passId": {
            "type": "string"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "eventId",
          "eventActivationId",
          "eventActivation",
          "earnedPoints",
          "passId",
          "imageId",
          "image"
        ]
      },
      "ActivationCompletion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivationCompletion"
          },
          {
            "type": "object",
            "properties": {
              "pass": {
                "$ref": "#/components/schemas/BaseEventPass"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "pass",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventActivationType": {
        "type": "string",
        "enum": [
          "public",
          "private",
          "protected"
        ]
      },
      "EventActivationRewardType": {
        "type": "string",
        "enum": [
          "max",
          "input"
        ]
      },
      "BaseEventActivation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "maxPoints": {
            "type": "number"
          },
          "startAfter": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/EventActivationType"
          },
          "rewardType": {
            "$ref": "#/components/schemas/EventActivationRewardType"
          },
          "accessLevel": {
            "$ref": "#/components/schemas/PassTypeAccessLevel"
          },
          "sortOrder": {
            "type": "number"
          },
          "survey": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSurvey"
              }
            ],
            "nullable": true
          },
          "imageUpload": {
            "type": "boolean"
          },
          "_count": {
            "type": "object",
            "properties": {
              "sessions": {
                "type": "number"
              }
            },
            "required": [
              "sessions"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "visible",
          "name",
          "shortDescription",
          "maxPoints",
          "startAfter",
          "type",
          "rewardType",
          "accessLevel",
          "sortOrder",
          "survey",
          "imageUpload",
          "_count"
        ]
      },
      "EventActivation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventActivation"
          },
          {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string"
              },
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "imageId": {
                "type": "string",
                "nullable": true
              },
              "image": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "protectionCode": {
                "type": "number",
                "nullable": true
              },
              "longDescription": {
                "type": "string",
                "nullable": true
              },
              "continuousScanning": {
                "type": "boolean"
              },
              "scanType": {
                "$ref": "#/components/schemas/OnSiteScanType"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "eventId",
              "event",
              "imageId",
              "image",
              "protectionCode",
              "longDescription",
              "continuousScanning",
              "scanType",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "ActivationTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "shortDescription",
          "longDescription",
          "createdAt",
          "updatedAt"
        ]
      },
      "ModerationStatus": {
        "type": "string",
        "enum": [
          "none",
          "reported",
          "approved"
        ]
      },
      "ActivityStatus": {
        "type": "string",
        "enum": [
          "draft",
          "scheduled",
          "published",
          "archived"
        ]
      },
      "BaseActivity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ActivityStatus"
          },
          "featured": {
            "type": "boolean"
          },
          "pinned": {
            "type": "boolean"
          },
          "pinnedExplore": {
            "type": "boolean"
          },
          "giphyId": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseActivityEntity"
            }
          },
          "moderation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ModerationStatus"
              }
            ],
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "contentId": {
            "type": "string",
            "nullable": true
          },
          "eventMediaItemId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "_count": {
            "type": "object",
            "properties": {
              "likes": {
                "type": "number"
              },
              "comments": {
                "type": "number"
              }
            },
            "required": [
              "likes",
              "comments"
            ]
          }
        },
        "required": [
          "id",
          "message",
          "status",
          "featured",
          "pinned",
          "pinnedExplore",
          "giphyId",
          "imageId",
          "videoId",
          "account",
          "entities",
          "moderation",
          "meetingId",
          "eventId",
          "groupId",
          "contentId",
          "eventMediaItemId",
          "createdAt",
          "updatedAt",
          "_count"
        ]
      },
      "Activity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivity"
          },
          {
            "type": "object",
            "properties": {
              "image": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "video": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseVideo"
                  }
                ],
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "group": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "content": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseChannelContent"
                  }
                ],
                "nullable": true
              },
              "schedule": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSchedule"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "image",
              "video",
              "meeting",
              "group",
              "event",
              "content",
              "schedule"
            ]
          }
        ]
      },
      "ActivityEntityType": {
        "type": "string",
        "enum": [
          "mention",
          "interest",
          "link",
          "segment"
        ]
      },
      "BaseActivityEntity": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ActivityEntityType"
          },
          "startIndex": {
            "type": "number"
          },
          "endIndex": {
            "type": "number"
          },
          "marks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accountId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "interestId": {
            "type": "string"
          },
          "interest": {
            "$ref": "#/components/schemas/BaseInterest"
          },
          "linkPreviewId": {
            "type": "string"
          },
          "linkPreview": {
            "$ref": "#/components/schemas/BaseLinkPreview"
          }
        },
        "required": [
          "type",
          "startIndex",
          "endIndex",
          "marks",
          "accountId",
          "account",
          "interestId",
          "interest",
          "linkPreviewId",
          "linkPreview"
        ]
      },
      "ActivityEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivityEntity"
          }
        ]
      },
      "AdvertisementClick": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "advertisementId": {
            "type": "string"
          },
          "advertisement": {
            "$ref": "#/components/schemas/BaseAdvertisement"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "advertisementId",
          "advertisement",
          "accountId",
          "account",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseAdvertisement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/AdvertisementType"
          },
          "link": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "weight": {
            "type": "number"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "type",
          "link",
          "title",
          "description",
          "imageId",
          "image",
          "startDate",
          "endDate",
          "weight",
          "accountId",
          "eventId",
          "enabled"
        ]
      },
      "Advertisement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAdvertisement"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "eventOnly": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "views": {
                    "type": "number"
                  },
                  "clicks": {
                    "type": "number"
                  }
                },
                "required": [
                  "views",
                  "clicks"
                ]
              }
            },
            "required": [
              "account",
              "event",
              "eventOnly",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "AdvertisementView": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "advertisementId": {
            "type": "string"
          },
          "advertisement": {
            "$ref": "#/components/schemas/Advertisement"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/Account"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "advertisementId",
          "advertisement",
          "accountId",
          "account",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseAnnouncement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          },
          "sms": {
            "type": "boolean"
          },
          "includePasses": {
            "type": "boolean"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "tierId": {
            "type": "string",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "schedule": {
            "$ref": "#/components/schemas/BaseSchedule"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "title",
          "html",
          "email",
          "push",
          "sms",
          "includePasses",
          "accountId",
          "creatorId",
          "eventId",
          "groupId",
          "tierId",
          "channelId",
          "ticketId",
          "userId",
          "schedule",
          "createdAt"
        ]
      },
      "EventAnnouncementFilters": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "event"
            ]
          },
          "ticketId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "choiceId": {
            "type": "string"
          },
          "eventRoomTypeId": {
            "type": "string"
          },
          "addOnId": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "Announcement": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAnnouncement"
          },
          {
            "type": "object",
            "properties": {
              "verifiedAccounts": {
                "type": "boolean"
              },
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "creator": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "group": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "tier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseTier"
                  }
                ],
                "nullable": true
              },
              "channel": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseChannel"
                  }
                ],
                "nullable": true
              },
              "sponsorshipLevelId": {
                "type": "string",
                "nullable": true
              },
              "sponsorshipLevel": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseLevel"
                  }
                ],
                "nullable": true
              },
              "ticket": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "user": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseUser"
                  }
                ],
                "nullable": true
              },
              "message": {
                "type": "string",
                "nullable": true
              },
              "filters": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EventAnnouncementFilters"
                  }
                ],
                "nullable": true
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "verifiedAccounts",
              "account",
              "creator",
              "event",
              "group",
              "tier",
              "channel",
              "sponsorshipLevelId",
              "sponsorshipLevel",
              "ticket",
              "user",
              "message",
              "filters",
              "updatedAt"
            ]
          }
        ]
      },
      "AnnouncementTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "html",
          "message",
          "createdAt",
          "updatedAt"
        ]
      },
      "BenefitClick": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "benefitId": {
            "type": "string"
          },
          "benefit": {
            "$ref": "#/components/schemas/BaseBenefit"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "benefitId",
          "benefit",
          "accountId",
          "account",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseBenefit": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "link": {
            "type": "string"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "link",
          "imageId",
          "image",
          "title",
          "description",
          "startDate",
          "endDate",
          "priority"
        ]
      },
      "Benefit": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBenefit"
          },
          {
            "type": "object",
            "properties": {
              "managerId": {
                "type": "string",
                "nullable": true
              },
              "manager": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "eventOnly": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "clicks": {
                    "type": "number"
                  }
                },
                "required": [
                  "clicks"
                ]
              }
            },
            "required": [
              "managerId",
              "manager",
              "eventId",
              "event",
              "eventOnly",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BenefitTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseChannelContent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "squareImage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "audioId": {
            "type": "number",
            "nullable": true
          },
          "audio": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseFile"
              }
            ],
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseVideo"
              }
            ],
            "nullable": true
          },
          "channelId": {
            "type": "string"
          },
          "channel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseChannel"
              }
            ],
            "nullable": true
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "published": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "featured",
          "slug",
          "title",
          "description",
          "imageId",
          "image",
          "squareImageId",
          "squareImage",
          "imageUrl",
          "audioId",
          "audio",
          "videoId",
          "video",
          "channelId",
          "channel",
          "duration",
          "published",
          "email",
          "push"
        ]
      },
      "ChannelContent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseChannelContent"
          },
          {
            "type": "object",
            "properties": {
              "body": {
                "type": "string",
                "nullable": true
              },
              "externalUrl": {
                "type": "string",
                "nullable": true
              },
              "appleUrl": {
                "type": "string",
                "nullable": true
              },
              "spotifyUrl": {
                "type": "string",
                "nullable": true
              },
              "googleUrl": {
                "type": "string",
                "nullable": true
              },
              "youtubeUrl": {
                "type": "string",
                "nullable": true
              },
              "guests": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseChannelContentGuest"
                }
              },
              "publishSchedule": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSchedule"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "likes": {
                    "type": "number"
                  },
                  "activities": {
                    "type": "number"
                  }
                },
                "required": [
                  "likes",
                  "activities"
                ]
              }
            },
            "required": [
              "body",
              "externalUrl",
              "appleUrl",
              "spotifyUrl",
              "googleUrl",
              "youtubeUrl",
              "guests",
              "publishSchedule",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BaseChannelContentLike": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "channelId": {
            "type": "string"
          },
          "contentId": {
            "type": "string"
          }
        },
        "required": [
          "accountId",
          "channelId",
          "contentId"
        ]
      },
      "ChannelContentLike": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseChannelContentLike"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "account",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "ChannelContentTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "audioId": {
            "type": "number",
            "nullable": true
          },
          "audio": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseFile"
              }
            ],
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseVideo"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "description",
          "body",
          "imageId",
          "image",
          "audioId",
          "audio",
          "videoId",
          "video",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseChannel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number"
          },
          "visible": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string"
          },
          "image": {
            "$ref": "#/components/schemas/BaseImage"
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "banner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "_count": {
            "type": "object",
            "properties": {
              "subscribers": {
                "type": "number"
              }
            },
            "required": [
              "subscribers"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "featured",
          "name",
          "description",
          "priority",
          "visible",
          "private",
          "imageId",
          "image",
          "bannerId",
          "banner",
          "_count"
        ]
      },
      "Channel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number"
          },
          "visible": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string"
          },
          "image": {
            "$ref": "#/components/schemas/BaseImage"
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "banner": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "appleUrl": {
            "type": "string",
            "nullable": true
          },
          "spotifyUrl": {
            "type": "string",
            "nullable": true
          },
          "googleUrl": {
            "type": "string",
            "nullable": true
          },
          "youtubeUrl": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          },
          "creator": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "_count": {
            "type": "object",
            "properties": {
              "subscribers": {
                "type": "number"
              },
              "contents": {
                "type": "number"
              }
            },
            "required": [
              "subscribers",
              "contents"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "featured",
          "name",
          "description",
          "priority",
          "visible",
          "private",
          "imageId",
          "image",
          "bannerId",
          "banner",
          "externalUrl",
          "appleUrl",
          "spotifyUrl",
          "googleUrl",
          "youtubeUrl",
          "creatorId",
          "creator",
          "createdAt",
          "updatedAt",
          "_count"
        ]
      },
      "BaseChannelSubscriber": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "channel": {
            "$ref": "#/components/schemas/Channel"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "contentEmailNotification": {
            "type": "boolean"
          },
          "contentPushNotification": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "organizationId",
          "channelId",
          "channel",
          "accountId",
          "account",
          "contentEmailNotification",
          "contentPushNotification",
          "createdAt",
          "updatedAt"
        ]
      },
      "ChannelTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseCoupon": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "prePaid": {
            "type": "boolean"
          },
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number"
          },
          "discountPercent": {
            "type": "number"
          },
          "quantityMin": {
            "type": "number"
          },
          "quantityMax": {
            "type": "number",
            "nullable": true
          },
          "useLimit": {
            "type": "number",
            "nullable": true
          },
          "limitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "purchaseLimit": {
            "type": "number",
            "nullable": true
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "ticket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEventPassType"
              }
            ],
            "nullable": true
          },
          "applyToPassType": {
            "type": "boolean"
          },
          "applyToAddOns": {
            "type": "boolean"
          },
          "applyToReservation": {
            "type": "boolean"
          },
          "applyToSessions": {
            "type": "boolean"
          },
          "registrationId": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "accountId"
            ],
            "nullable": true
          }
        },
        "required": [
          "eventId",
          "id",
          "prePaid",
          "code",
          "description",
          "active",
          "startDate",
          "endDate",
          "discountAmount",
          "discountPercent",
          "quantityMin",
          "quantityMax",
          "useLimit",
          "limitPerAccount",
          "purchaseLimit",
          "emailDomains",
          "ticketId",
          "ticket",
          "applyToPassType",
          "applyToAddOns",
          "applyToReservation",
          "applyToSessions",
          "registrationId",
          "registration"
        ]
      },
      "Coupon": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseCoupon"
          },
          {
            "type": "object",
            "properties": {
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "registration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventRegistration"
                  }
                ],
                "nullable": true
              },
              "lineItem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentLineItem"
                  }
                ],
                "nullable": true
              },
              "parentCouponId": {
                "type": "string",
                "nullable": true
              },
              "parentCoupon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseCoupon"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "purchases": {
                    "type": "number"
                  },
                  "payments": {
                    "type": "number"
                  },
                  "variants": {
                    "type": "number"
                  }
                },
                "required": [
                  "purchases",
                  "payments",
                  "variants"
                ]
              }
            },
            "required": [
              "allowedTiers",
              "disallowedTiers",
              "registration",
              "lineItem",
              "parentCouponId",
              "parentCoupon",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "GroupCouponReminderFrequency": {
        "type": "string",
        "enum": [
          "weekly",
          "monthly",
          "quarterly"
        ]
      },
      "EventGroupCouponReminder": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupCouponReminderFrequency"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "eventId",
          "enabled",
          "startDate",
          "frequency",
          "createdAt",
          "updatedAt"
        ]
      },
      "EmailReceiptStatus": {
        "type": "string",
        "enum": [
          "pending",
          "delivered",
          "bounced",
          "complaint",
          "opened"
        ]
      },
      "BaseEmailReceipt": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/EmailReceiptStatus"
          },
          "from": {
            "type": "string"
          },
          "to": {
            "type": "string"
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "from",
          "to",
          "replyTo",
          "subject",
          "accountId",
          "account",
          "createdAt",
          "updatedAt"
        ]
      },
      "EmailReceipt": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEmailReceipt"
          },
          {
            "type": "object",
            "properties": {
              "html": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "debug": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "html",
              "text",
              "debug"
            ]
          }
        ]
      },
      "EventAddOnVisibility": {
        "type": "string",
        "enum": [
          "public",
          "hidden"
        ]
      },
      "BaseEventAddOn": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "includedNights": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "visibility": {
            "$ref": "#/components/schemas/EventAddOnVisibility"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "shortDescription",
          "supply",
          "price",
          "pricePerNight",
          "includedNights",
          "sortOrder",
          "imageId",
          "image",
          "eventId",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "visibility",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventAddOn": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventAddOn"
          },
          {
            "type": "object",
            "properties": {
              "longDescription": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "allowedTickets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPassType"
                }
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "_count": {
                "type": "object",
                "properties": {
                  "passes": {
                    "type": "number"
                  }
                },
                "required": [
                  "passes"
                ]
              }
            },
            "required": [
              "longDescription",
              "event",
              "allowedTickets",
              "allowedTiers",
              "disallowedTiers",
              "_count"
            ]
          }
        ]
      },
      "EventAddOnTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "shortDescription",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventAttribute": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ]
      },
      "EventAttribute": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventAttribute"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BasePassAttribute": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "attributeId": {
            "type": "string"
          },
          "attribute": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "attributeId",
          "attribute",
          "value"
        ]
      },
      "PassAttribute": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePassAttribute"
          },
          {
            "type": "object",
            "properties": {
              "attribute": {
                "$ref": "#/components/schemas/BaseEventAttribute"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "attribute",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "PassAttributeImportResult": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number"
          },
          "passId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "resolved",
              "invalid"
            ]
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "index",
          "passId",
          "status",
          "message"
        ]
      },
      "PassAttributeImportSummary": {
        "type": "object",
        "properties": {
          "created": {
            "type": "number"
          },
          "updated": {
            "type": "number"
          },
          "unchanged": {
            "type": "number"
          },
          "conflicted": {
            "type": "number"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PassAttributeImportResult"
            }
          }
        },
        "required": [
          "created",
          "updated",
          "unchanged",
          "conflicted",
          "results"
        ]
      },
      "PassResponseImportResult": {
        "type": "object",
        "properties": {
          "index": {
            "type": "number"
          },
          "passId": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "resolved",
              "invalid"
            ]
          },
          "message": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "index",
          "passId",
          "status",
          "message"
        ]
      },
      "PassResponseImportSummary": {
        "type": "object",
        "properties": {
          "enqueued": {
            "type": "number"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PassResponseImportResult"
            }
          }
        },
        "required": [
          "enqueued",
          "results"
        ]
      },
      "EventActivationTranslation": {
        "type": "object",
        "properties": {
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "locale",
          "name",
          "shortDescription",
          "longDescription"
        ]
      },
      "EventEmailType": {
        "type": "string",
        "enum": [
          "confirmation",
          "cancellation",
          "reminder",
          "approval",
          "denial",
          "transfer",
          "abandonedRegistration"
        ]
      },
      "BaseEventEmail": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/EventEmailType"
          },
          "eventId": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "calendarFile": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "eventId",
          "body",
          "replyTo",
          "enabled",
          "calendarFile"
        ]
      },
      "EventEmail": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventEmail"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventEmailTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "body",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventListing": {
        "type": "object",
        "properties": {}
      },
      "BaseEventOnSite": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "authenticationCode": {
            "type": "string"
          },
          "badgeTemplate": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "eventId",
          "authenticationCode",
          "badgeTemplate",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventOnSite": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventOnSite"
          }
        ]
      },
      "BadgeColorRuleType": {
        "type": "string",
        "enum": [
          "attribute",
          "tier",
          "passType",
          "passAttribute"
        ]
      },
      "BaseEventOnSiteBadgeColorRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BadgeColorRuleType"
          },
          "color": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "attributeId": {
            "type": "string",
            "nullable": true
          },
          "attributeValue": {
            "type": "string",
            "nullable": true
          },
          "tierId": {
            "type": "string",
            "nullable": true
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeValue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "color",
          "sortOrder",
          "attributeId",
          "attributeValue",
          "tierId",
          "passTypeId",
          "passAttributeId",
          "passAttributeValue"
        ]
      },
      "EventOnSiteBadgeColorRule": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventOnSiteBadgeColorRule"
          },
          {
            "type": "object",
            "properties": {
              "attribute": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccountAttribute"
                  }
                ],
                "nullable": true
              },
              "tier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseTier"
                  }
                ],
                "nullable": true
              },
              "passType": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "passAttribute": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventAttribute"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "attribute",
              "tier",
              "passType",
              "passAttribute",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventOnSiteLabel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "template": {
            "type": "object",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "default": {
            "type": "boolean",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "template",
          "sortOrder",
          "default"
        ]
      },
      "EventOnSiteLabel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventOnSiteLabel"
          }
        ]
      },
      "BaseEventPage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "title",
          "active",
          "subtitle",
          "sortOrder"
        ]
      },
      "EventPage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPage"
          },
          {
            "type": "object",
            "properties": {
              "html": {
                "type": "string",
                "nullable": true
              },
              "externalUrl": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "html",
              "externalUrl",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventPageTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "subtitle",
          "html",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean"
          },
          "template": {
            "type": "boolean"
          },
          "source": {
            "$ref": "#/components/schemas/EventSource"
          },
          "eventType": {
            "$ref": "#/components/schemas/EventType"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "eventStart": {
            "type": "string"
          },
          "eventEnd": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "venue": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "squareImage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "registrationStart": {
            "type": "string",
            "nullable": true
          },
          "registrationEnd": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "seriesId": {
            "type": "string",
            "nullable": true
          },
          "series": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSeries"
              }
            ],
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentIntegration"
              }
            ],
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "entity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseOrganizationEntity"
              }
            ],
            "nullable": true
          },
          "archived": {
            "type": "boolean"
          },
          "clientTemplate": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "slug",
          "internalRefId",
          "featured",
          "visible",
          "template",
          "source",
          "eventType",
          "name",
          "shortDescription",
          "eventStart",
          "eventEnd",
          "timezone",
          "externalUrl",
          "venue",
          "address1",
          "address2",
          "city",
          "state",
          "country",
          "zip",
          "location",
          "latitude",
          "longitude",
          "imageId",
          "image",
          "squareImageId",
          "squareImage",
          "registration",
          "registrationStart",
          "registrationEnd",
          "createdAt",
          "updatedAt",
          "seriesId",
          "series",
          "paymentIntegrationId",
          "paymentIntegration",
          "entityId",
          "entity",
          "archived",
          "clientTemplate"
        ]
      },
      "Event": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEvent"
          },
          {
            "type": "object",
            "properties": {
              "mapImageLightUrl": {
                "type": "string",
                "nullable": true
              },
              "mapImageDarkUrl": {
                "type": "string",
                "nullable": true
              },
              "roundName": {
                "type": "string",
                "nullable": true
              },
              "matchName": {
                "type": "string",
                "nullable": true
              },
              "passSupply": {
                "type": "number",
                "nullable": true
              },
              "passLimitPerAccount": {
                "type": "number",
                "nullable": true
              },
              "reservationDescription": {
                "type": "string",
                "nullable": true
              },
              "longDescription": {
                "type": "string",
                "nullable": true
              },
              "creatorId": {
                "type": "string",
                "nullable": true
              },
              "creator": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "registrationLimit": {
                "type": "number",
                "nullable": true
              },
              "allowMultipleRegistrations": {
                "type": "boolean"
              },
              "allowSplitPayment": {
                "type": "boolean"
              },
              "splitPaymentPercentage": {
                "type": "number"
              },
              "splitPaymentNetDays": {
                "type": "number",
                "nullable": true
              },
              "splitPaymentDueDate": {
                "type": "string",
                "nullable": true
              },
              "buildModeUntil": {
                "type": "string",
                "nullable": true
              },
              "publicRegistrants": {
                "type": "boolean"
              },
              "sessionsVisibility": {
                "$ref": "#/components/schemas/EventAgendaVisibility"
              },
              "speakersVisibility": {
                "$ref": "#/components/schemas/EventAgendaVisibility"
              },
              "speakerImageShape": {
                "$ref": "#/components/schemas/ImageShape"
              },
              "checkinCode": {
                "type": "number",
                "nullable": true
              },
              "iosAppLink": {
                "type": "string",
                "nullable": true
              },
              "androidAppLink": {
                "type": "string",
                "nullable": true
              },
              "newActivityCreatorEmailNotification": {
                "type": "boolean"
              },
              "newActivityCreatorPushNotification": {
                "type": "boolean"
              },
              "streamReplayId": {
                "type": "string",
                "nullable": true
              },
              "streamReplay": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseVideo"
                  }
                ],
                "nullable": true
              },
              "groupId": {
                "type": "string",
                "nullable": true
              },
              "group": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "groupOnly": {
                "type": "boolean"
              },
              "guestRegistration": {
                "type": "boolean"
              },
              "backgroundImageId": {
                "type": "string",
                "nullable": true
              },
              "backgroundImage": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "registrationHeaderImageId": {
                "type": "string",
                "nullable": true
              },
              "registrationHeaderImage": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "registrationFooterImageId": {
                "type": "string",
                "nullable": true
              },
              "registrationFooterImage": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "registrationHideTitle": {
                "type": "boolean"
              },
              "activityFeedEnabled": {
                "type": "boolean"
              },
              "meetingId": {
                "type": "string",
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "continuousScanning": {
                "type": "boolean"
              },
              "scanType": {
                "$ref": "#/components/schemas/OnSiteScanType"
              },
              "activationsDescription": {
                "type": "string",
                "nullable": true
              },
              "activationsLabel": {
                "type": "string"
              },
              "externalMeetingUrl": {
                "type": "string",
                "nullable": true
              },
              "pendingPassNotificationEmails": {
                "type": "string",
                "nullable": true
              },
              "options": {
                "type": "object",
                "nullable": true
              }
            },
            "required": [
              "mapImageLightUrl",
              "mapImageDarkUrl",
              "roundName",
              "matchName",
              "passSupply",
              "passLimitPerAccount",
              "reservationDescription",
              "longDescription",
              "creatorId",
              "creator",
              "registrationLimit",
              "allowMultipleRegistrations",
              "allowSplitPayment",
              "splitPaymentPercentage",
              "splitPaymentNetDays",
              "splitPaymentDueDate",
              "buildModeUntil",
              "publicRegistrants",
              "sessionsVisibility",
              "speakersVisibility",
              "speakerImageShape",
              "checkinCode",
              "iosAppLink",
              "androidAppLink",
              "newActivityCreatorEmailNotification",
              "newActivityCreatorPushNotification",
              "streamReplayId",
              "streamReplay",
              "groupId",
              "group",
              "groupOnly",
              "guestRegistration",
              "backgroundImageId",
              "backgroundImage",
              "registrationHeaderImageId",
              "registrationHeaderImage",
              "registrationFooterImageId",
              "registrationFooterImage",
              "registrationHideTitle",
              "activityFeedEnabled",
              "meetingId",
              "meeting",
              "continuousScanning",
              "scanType",
              "activationsDescription",
              "activationsLabel",
              "externalMeetingUrl",
              "pendingPassNotificationEmails",
              "options"
            ]
          }
        ]
      },
      "EventTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "reservationDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "activationsDescription": {
            "type": "string",
            "nullable": true
          },
          "activationsLabel": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "shortDescription",
          "longDescription",
          "reservationDescription",
          "imageId",
          "image",
          "activationsDescription",
          "activationsLabel",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseFaqSection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "priority"
        ]
      },
      "FaqSection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFaqSection"
          },
          {
            "type": "object",
            "properties": {
              "faqs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseFaq"
                }
              },
              "eventId": {
                "type": "string"
              },
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "faqs",
              "eventId",
              "event",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "FaqSectionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseFaq": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "visible",
          "question"
        ]
      },
      "Faq": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFaq"
          },
          {
            "type": "object",
            "properties": {
              "priority": {
                "type": "number"
              },
              "organizationId": {
                "type": "string"
              },
              "eventId": {
                "type": "string"
              },
              "sectionId": {
                "type": "string"
              },
              "section": {
                "$ref": "#/components/schemas/BaseFaqSection"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "priority",
              "organizationId",
              "eventId",
              "sectionId",
              "section",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "FaqTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "question",
          "answer",
          "createdAt",
          "updatedAt"
        ]
      },
      "SupportedLocale": {
        "type": "string",
        "enum": [
          "af",
          "sq",
          "am",
          "ar",
          "hy",
          "az",
          "bn",
          "bs",
          "bg",
          "zh-CN",
          "ca",
          "zh-TW",
          "hr",
          "cs",
          "da",
          "nl",
          "et",
          "fi",
          "fr",
          "fr-CA",
          "ka",
          "de",
          "el",
          "ht",
          "he",
          "hi",
          "hu",
          "is",
          "id",
          "ga",
          "it",
          "ja",
          "kk",
          "ko",
          "lv",
          "lt",
          "mk",
          "ms",
          "mt",
          "mn",
          "no",
          "fa",
          "ps",
          "pl",
          "pt",
          "pt-PT",
          "pa",
          "ro",
          "ru",
          "sr",
          "sk",
          "sl",
          "so",
          "es",
          "es-MX",
          "sw",
          "sv",
          "ta",
          "th",
          "tr",
          "uk",
          "ur",
          "uz",
          "vi"
        ]
      },
      "ISupportedLocale": {
        "$ref": "#/components/schemas/SupportedLocale"
      },
      "GroupInvitationStatus": {
        "type": "string",
        "enum": [
          "invited",
          "rejected",
          "canceled"
        ]
      },
      "BaseGroupInvitation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/GroupInvitationStatus"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "createdAt",
          "updatedAt"
        ]
      },
      "GroupInvitation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseGroupInvitation"
          },
          {
            "type": "object",
            "properties": {
              "group": {
                "$ref": "#/components/schemas/BaseGroup"
              },
              "groupId": {
                "type": "string"
              },
              "accountId": {
                "type": "string"
              },
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              },
              "inviterId": {
                "type": "string"
              },
              "inviter": {
                "$ref": "#/components/schemas/BaseAccount"
              }
            },
            "required": [
              "group",
              "groupId",
              "accountId",
              "account",
              "inviterId",
              "inviter"
            ]
          }
        ]
      },
      "BaseGroupMembership": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "groupId": {
            "type": "string"
          },
          "group": {
            "$ref": "#/components/schemas/BaseGroup"
          },
          "role": {
            "$ref": "#/components/schemas/GroupMembershipRole"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "accountId",
          "account",
          "groupId",
          "group",
          "role",
          "createdAt"
        ]
      },
      "ActivityPreference": {
        "type": "string",
        "enum": [
          "all",
          "featured",
          "none"
        ]
      },
      "GroupMembership": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseGroupMembership"
          },
          {
            "type": "object",
            "properties": {
              "announcementEmailNotification": {
                "type": "boolean"
              },
              "announcementPushNotification": {
                "type": "boolean"
              },
              "activityEmailNotification": {
                "type": "boolean"
              },
              "activityPushNotification": {
                "type": "boolean"
              },
              "eventEmailNotification": {
                "type": "boolean"
              },
              "eventPushNotification": {
                "type": "boolean"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "announcementEmailNotification",
              "announcementPushNotification",
              "activityEmailNotification",
              "activityPushNotification",
              "eventEmailNotification",
              "eventPushNotification",
              "updatedAt"
            ]
          }
        ]
      },
      "GroupRequestStatus": {
        "type": "string",
        "enum": [
          "requested",
          "rejected"
        ]
      },
      "BaseGroupRequest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/GroupRequestStatus"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "createdAt",
          "updatedAt"
        ]
      },
      "GroupRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseGroupRequest"
          },
          {
            "type": "object",
            "properties": {
              "groupId": {
                "type": "string"
              },
              "group": {
                "$ref": "#/components/schemas/BaseGroup"
              },
              "accountId": {
                "type": "string"
              },
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              }
            },
            "required": [
              "groupId",
              "group",
              "accountId",
              "account"
            ]
          }
        ]
      },
      "BaseGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "access": {
            "$ref": "#/components/schemas/GroupAccess"
          },
          "description": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "squareImage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "_count": {
            "type": "object",
            "properties": {
              "members": {
                "type": "number"
              }
            },
            "required": [
              "members"
            ]
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "active",
          "access",
          "description",
          "featured",
          "imageId",
          "image",
          "squareImageId",
          "squareImage",
          "_count"
        ]
      },
      "Group": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseGroup"
          },
          {
            "type": "object",
            "properties": {
              "externalUrl": {
                "type": "string",
                "nullable": true
              },
              "meetingId": {
                "type": "string",
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "members": {
                    "type": "number"
                  },
                  "interests": {
                    "type": "number"
                  },
                  "events": {
                    "type": "number"
                  }
                },
                "required": [
                  "members",
                  "interests",
                  "events"
                ]
              }
            },
            "required": [
              "externalUrl",
              "meetingId",
              "meeting",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "GroupTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "imageId",
          "image",
          "createdAt",
          "updatedAt"
        ]
      },
      "ImageModerationLevel": {
        "type": "string",
        "enum": [
          "safe",
          "warning"
        ]
      },
      "BaseImage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "uri": {
            "type": "string"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "uri",
          "width",
          "height",
          "createdAt"
        ]
      },
      "Image": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseImage"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "$ref": "#/components/schemas/ImageType"
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "moderation": {
                "$ref": "#/components/schemas/ImageModerationLevel"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "description",
              "moderation",
              "updatedAt"
            ]
          }
        ]
      },
      "ImageDirectUpload": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "uploadURL": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "uploadURL"
        ]
      },
      "ExportStatus": {
        "type": "string",
        "enum": [
          "pending",
          "resolved",
          "failed"
        ]
      },
      "ImportItemStatus": {
        "type": "string",
        "enum": [
          "pending",
          "resolved",
          "failed",
          "invalid"
        ]
      },
      "BaseImportItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "importId": {
            "type": "string"
          },
          "values": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ImportItemStatus"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "debug": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "importId",
          "values",
          "status",
          "message",
          "debug",
          "createdAt",
          "updatedAt"
        ]
      },
      "ImportItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseImportItem"
          },
          {
            "type": "object",
            "properties": {
              "import": {
                "$ref": "#/components/schemas/BaseImport"
              }
            },
            "required": [
              "import"
            ]
          }
        ]
      },
      "BaseImport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "overwrite": {
            "type": "boolean"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "overwrite",
          "userId",
          "createdAt",
          "updatedAt"
        ]
      },
      "Import": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseImport"
          },
          {
            "type": "object",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/BaseUser"
              },
              "tier": {
                "$ref": "#/components/schemas/BaseTier"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "items": {
                    "type": "number"
                  }
                },
                "required": [
                  "items"
                ]
              }
            },
            "required": [
              "user",
              "tier",
              "_count"
            ]
          }
        ]
      },
      "IntegrationType": {
        "type": "string",
        "enum": [
          "snagtag"
        ]
      },
      "BaseIntegration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/IntegrationType"
          },
          "enabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "enabled",
          "createdAt",
          "updatedAt"
        ]
      },
      "Integration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseIntegration"
          },
          {
            "type": "object",
            "properties": {
              "publicUrl": {
                "type": "string",
                "nullable": true
              },
              "publicKey": {
                "type": "string",
                "nullable": true
              },
              "secretKey": {
                "type": "string",
                "nullable": true
              },
              "details": {
                "type": "object",
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/IntegrationType"
                  },
                  "name": {
                    "type": "string"
                  },
                  "description": {
                    "type": "string"
                  },
                  "logo": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "name",
                  "description",
                  "logo"
                ]
              }
            },
            "required": [
              "publicUrl",
              "publicKey",
              "secretKey",
              "details"
            ]
          }
        ]
      },
      "BaseInterest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "featured",
          "name",
          "imageId",
          "image"
        ]
      },
      "Interest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseInterest"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "accounts": {
                    "type": "number"
                  },
                  "groups": {
                    "type": "number"
                  }
                },
                "required": [
                  "accounts",
                  "groups"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BaseSearchList": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "name"
        ]
      },
      "SearchList": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSearchList"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "values": {
                    "type": "number"
                  }
                },
                "required": [
                  "values"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "BaseSearchListValue": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "searchListId": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "priority": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "id",
          "searchListId",
          "value",
          "priority"
        ]
      },
      "SearchListValue": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSearchListValue"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "searchList": {
                "$ref": "#/components/schemas/SearchList"
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "searchList"
            ]
          }
        ]
      },
      "SearchListConnectedQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "questionType": {
            "type": "string",
            "enum": [
              "registration",
              "session",
              "survey"
            ]
          },
          "parentName": {
            "type": "string"
          },
          "parentId": {
            "type": "string"
          },
          "sessionName": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "label",
          "type",
          "required",
          "questionType",
          "parentName",
          "parentId",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseInvoiceLineItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "quantity",
          "amount",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "createdAt",
          "updatedAt"
        ]
      },
      "InvoiceLineItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseInvoiceLineItem"
          },
          {
            "type": "object",
            "properties": {
              "invoiceId": {
                "type": "string"
              },
              "invoice": {
                "$ref": "#/components/schemas/BaseInvoice"
              }
            },
            "required": [
              "invoiceId",
              "invoice"
            ]
          }
        ]
      },
      "InvoiceStatus": {
        "type": "string",
        "enum": [
          "draft",
          "sent",
          "paid",
          "void"
        ]
      },
      "BaseInvoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "alternateId": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "sentDate": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus"
          },
          "title": {
            "type": "string"
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentIntegration"
              }
            ],
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "entity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseOrganizationEntity"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "alternateId",
          "dueDate",
          "sentDate",
          "status",
          "title",
          "notes",
          "paymentIntegrationId",
          "paymentIntegration",
          "entityId",
          "entity"
        ]
      },
      "Invoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseInvoice"
          },
          {
            "type": "object",
            "properties": {
              "lineItems": {
                "$ref": "#/components/schemas/BaseInvoiceLineItem"
              },
              "accountId": {
                "type": "string",
                "nullable": true
              },
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "lineItems",
              "accountId",
              "account",
              "eventId",
              "event",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseLike": {
        "type": "object",
        "properties": {
          "activity": {
            "$ref": "#/components/schemas/BaseActivity"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          }
        },
        "required": [
          "activity",
          "account"
        ]
      },
      "Like": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLike"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseLinkPreview": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "siteName": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "type": "string",
            "nullable": true
          },
          "imageWidth": {
            "type": "number",
            "nullable": true
          },
          "imageHeight": {
            "type": "number",
            "nullable": true
          },
          "imageType": {
            "type": "string",
            "nullable": true
          },
          "favicon": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "url",
          "siteName",
          "title",
          "description",
          "image",
          "imageWidth",
          "imageHeight",
          "imageType",
          "favicon"
        ]
      },
      "LinkPreview": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLinkPreview"
          }
        ]
      },
      "NotificationPreferences": {
        "type": "object",
        "properties": {
          "newFollowerPush": {
            "type": "boolean"
          },
          "likePush": {
            "type": "boolean"
          },
          "commentPush": {
            "type": "boolean"
          },
          "transferPush": {
            "type": "boolean"
          },
          "transferEmail": {
            "type": "boolean"
          },
          "eventReminderEmail": {
            "type": "boolean"
          },
          "abandonedRegistrationEmail": {
            "type": "boolean"
          },
          "groupCouponReminderEmail": {
            "type": "boolean"
          },
          "bookingReminderEmail": {
            "type": "boolean"
          },
          "chatPush": {
            "type": "boolean"
          },
          "chatUnreadEmail": {
            "type": "boolean"
          },
          "chatUnreadPush": {
            "type": "boolean"
          },
          "activityMentionPush": {
            "type": "boolean"
          },
          "organizationAnnouncementEmail": {
            "type": "boolean"
          },
          "organizationAnnouncementPush": {
            "type": "boolean"
          },
          "groupInvitationEmail": {
            "type": "boolean"
          },
          "groupInvitationPush": {
            "type": "boolean"
          },
          "groupRequestAcceptedEmail": {
            "type": "boolean"
          },
          "groupRequestAcceptedPush": {
            "type": "boolean"
          }
        },
        "required": [
          "newFollowerPush",
          "likePush",
          "commentPush",
          "transferPush",
          "transferEmail",
          "eventReminderEmail",
          "abandonedRegistrationEmail",
          "groupCouponReminderEmail",
          "bookingReminderEmail",
          "chatPush",
          "chatUnreadEmail",
          "chatUnreadPush",
          "activityMentionPush",
          "organizationAnnouncementEmail",
          "organizationAnnouncementPush",
          "groupInvitationEmail",
          "groupInvitationPush",
          "groupRequestAcceptedEmail",
          "groupRequestAcceptedPush"
        ]
      },
      "AdminNotificationPreferences": {
        "type": "object",
        "properties": {
          "supportTicketMessageAdmin": {
            "type": "boolean"
          },
          "supportTicketMessageEmail": {
            "type": "boolean"
          },
          "supportTicketAssignedAdmin": {
            "type": "boolean"
          },
          "supportTicketAssignedEmail": {
            "type": "boolean"
          },
          "supportTicketCreatedAdmin": {
            "type": "boolean"
          },
          "supportTicketCreatedEmail": {
            "type": "boolean"
          }
        },
        "required": [
          "supportTicketMessageAdmin",
          "supportTicketMessageEmail",
          "supportTicketAssignedAdmin",
          "supportTicketAssignedEmail",
          "supportTicketCreatedAdmin",
          "supportTicketCreatedEmail"
        ]
      },
      "BaseNotification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/NotificationType"
          },
          "read": {
            "type": "boolean"
          },
          "receiverId": {
            "type": "string"
          },
          "receiver": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "senderId": {
            "type": "string",
            "nullable": true
          },
          "sender": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "orgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "orgMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "type",
          "read",
          "receiverId",
          "receiver",
          "senderId",
          "sender",
          "orgMembershipId",
          "orgMembership"
        ]
      },
      "Notification": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseNotification"
          },
          {
            "type": "object",
            "properties": {
              "like": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseLike"
                  }
                ],
                "nullable": true
              },
              "activity": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseActivity"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "announcement": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAnnouncement"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "like",
              "activity",
              "event",
              "announcement",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseAdminNotification": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "supportTicketId": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/AdminNotificationType"
          },
          "source": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdminNotificationSource"
              }
            ],
            "nullable": true
          },
          "read": {
            "type": "boolean"
          },
          "orgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "orgMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          },
          "senderAccountId": {
            "type": "string",
            "nullable": true
          },
          "senderAccount": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "senderOrgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "senderOrgMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "supportTicketId",
          "type",
          "source",
          "read",
          "orgMembershipId",
          "orgMembership",
          "senderAccountId",
          "senderAccount",
          "senderOrgMembershipId",
          "senderOrgMembership"
        ]
      },
      "AdminNotification": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseAdminNotification"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "supportTicket": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSupportTicket"
                  }
                ],
                "nullable": true
              },
              "externalUrl": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "supportTicket",
              "externalUrl",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "NotificationStats": {
        "type": "object",
        "properties": {
          "total": {
            "type": "number"
          },
          "unread": {
            "type": "number"
          },
          "byType": {
            "type": "object",
            "additionalProperties": true
          },
          "bySource": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [
          "total",
          "unread",
          "byType",
          "bySource"
        ]
      },
      "ModulePermissions": {
        "type": "object",
        "properties": {
          "superEnabled": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "read": {
            "type": "boolean"
          },
          "create": {
            "type": "boolean"
          },
          "update": {
            "type": "boolean"
          },
          "del": {
            "type": "boolean"
          }
        },
        "required": [
          "superEnabled",
          "enabled",
          "read",
          "create",
          "update",
          "del"
        ]
      },
      "OrganizationMembership": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "userId": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/BaseUser"
          },
          "org": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "users": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "reports": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "dashboards": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "logs": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "activities": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "events": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "attendees": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "groups": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "accounts": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "tiers": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "channels": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "contents": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "threads": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "storage": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "support": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "sponsors": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "benefits": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "interests": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "advertisements": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "invoices": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "announcements": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "bookings": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "surveys": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "searchlists": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "streams": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "meetings": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "payments": {
            "$ref": "#/components/schemas/ModulePermissions"
          },
          "supportTicketMessageAdmin": {
            "type": "boolean"
          },
          "supportTicketMessageEmail": {
            "type": "boolean"
          },
          "supportTicketAssignedAdmin": {
            "type": "boolean"
          },
          "supportTicketAssignedEmail": {
            "type": "boolean"
          },
          "supportTicketCreatedAdmin": {
            "type": "boolean"
          },
          "supportTicketCreatedEmail": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "organizationId",
          "userId",
          "user",
          "org",
          "users",
          "reports",
          "dashboards",
          "logs",
          "activities",
          "events",
          "attendees",
          "groups",
          "accounts",
          "tiers",
          "channels",
          "contents",
          "threads",
          "storage",
          "support",
          "sponsors",
          "benefits",
          "interests",
          "advertisements",
          "invoices",
          "announcements",
          "bookings",
          "surveys",
          "searchlists",
          "streams",
          "meetings",
          "payments",
          "supportTicketMessageAdmin",
          "supportTicketMessageEmail",
          "supportTicketAssignedAdmin",
          "supportTicketAssignedEmail",
          "supportTicketCreatedAdmin",
          "supportTicketCreatedEmail"
        ]
      },
      "BaseOrganization": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "logoId": {
            "type": "string",
            "nullable": true
          },
          "logo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "iconId": {
            "type": "string",
            "nullable": true
          },
          "icon": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "domain": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "logoId",
          "logo",
          "iconId",
          "icon",
          "domain",
          "locale"
        ]
      },
      "Organization": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOrganization"
          },
          {
            "type": "object",
            "properties": {
              "email": {
                "type": "string",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "privacyPolicyLink": {
                "type": "string",
                "nullable": true
              },
              "primaryColor": {
                "type": "string",
                "nullable": true
              },
              "secondaryColor": {
                "type": "string",
                "nullable": true
              },
              "darkPrimaryColor": {
                "type": "string",
                "nullable": true
              },
              "darkSecondaryColor": {
                "type": "string",
                "nullable": true
              },
              "clientTheme": {
                "type": "string",
                "nullable": true
              },
              "facebook": {
                "type": "string",
                "nullable": true
              },
              "twitter": {
                "type": "string",
                "nullable": true
              },
              "instagram": {
                "type": "string",
                "nullable": true
              },
              "linkedIn": {
                "type": "string",
                "nullable": true
              },
              "tikTok": {
                "type": "string",
                "nullable": true
              },
              "youtube": {
                "type": "string",
                "nullable": true
              },
              "discord": {
                "type": "string",
                "nullable": true
              },
              "timezone": {
                "type": "string",
                "nullable": true
              },
              "iosAppLink": {
                "type": "string",
                "nullable": true
              },
              "androidAppLink": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "integrations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Integration"
                }
              },
              "paymentIntegrations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BasePaymentIntegration"
                }
              },
              "appName": {
                "type": "string",
                "nullable": true
              },
              "appIconId": {
                "type": "string",
                "nullable": true
              },
              "appIcon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "appAdaptiveIconId": {
                "type": "string",
                "nullable": true
              },
              "appAdaptiveIcon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "appSplashScreenId": {
                "type": "string",
                "nullable": true
              },
              "appSplashScreen": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "appSplashScreenColor": {
                "type": "string",
                "nullable": true
              },
              "darkIconId": {
                "type": "string",
                "nullable": true
              },
              "darkIcon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "darkLogoId": {
                "type": "string",
                "nullable": true
              },
              "darkLogo": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseImage"
                  }
                ],
                "nullable": true
              },
              "requirePhone": {
                "type": "boolean"
              },
              "requestInternalRefId": {
                "type": "boolean"
              },
              "internalRefIdName": {
                "type": "string",
                "nullable": true
              },
              "authLayout": {
                "$ref": "#/components/schemas/AuthLayout"
              },
              "defaultAuthAction": {
                "$ref": "#/components/schemas/DefaultAuthAction"
              },
              "userPoolId": {
                "type": "string",
                "nullable": true
              },
              "userPoolClientId": {
                "type": "string",
                "nullable": true
              },
              "userPoolHostedUrl": {
                "type": "string",
                "nullable": true
              },
              "appBundleIdentifier": {
                "type": "string",
                "nullable": true
              },
              "expoProjectId": {
                "type": "string",
                "nullable": true
              },
              "expoSlug": {
                "type": "string",
                "nullable": true
              },
              "emailAuthEnabled": {
                "type": "boolean"
              },
              "appleAuthEnabled": {
                "type": "boolean"
              },
              "facebookAuthEnabled": {
                "type": "boolean"
              },
              "googleAuthEnabled": {
                "type": "boolean"
              },
              "oAuth": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ]
                }
              },
              "maxFileGbs": {
                "type": "number",
                "nullable": true
              },
              "maxImageCount": {
                "type": "number",
                "nullable": true
              },
              "maxVideoMins": {
                "type": "number",
                "nullable": true
              },
              "locales": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "inviteOnly": {
                "type": "boolean"
              },
              "googleTagManagerId": {
                "type": "string",
                "nullable": true
              },
              "googleMapsApiKey": {
                "type": "string",
                "nullable": true
              },
              "turnstileSiteKey": {
                "type": "string",
                "nullable": true
              },
              "appleMerchantIdDomainAssociation": {
                "type": "string",
                "nullable": true
              },
              "googleMerchantId": {
                "type": "string",
                "nullable": true
              },
              "options": {
                "type": "object",
                "nullable": true
              },
              "modulesOrder": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ModulesOrder"
                }
              }
            },
            "required": [
              "email",
              "description",
              "phone",
              "privacyPolicyLink",
              "primaryColor",
              "secondaryColor",
              "darkPrimaryColor",
              "darkSecondaryColor",
              "clientTheme",
              "facebook",
              "twitter",
              "instagram",
              "linkedIn",
              "tikTok",
              "youtube",
              "discord",
              "timezone",
              "iosAppLink",
              "androidAppLink",
              "createdAt",
              "updatedAt",
              "integrations",
              "paymentIntegrations",
              "appName",
              "appIconId",
              "appIcon",
              "appAdaptiveIconId",
              "appAdaptiveIcon",
              "appSplashScreenId",
              "appSplashScreen",
              "appSplashScreenColor",
              "darkIconId",
              "darkIcon",
              "darkLogoId",
              "darkLogo",
              "requirePhone",
              "requestInternalRefId",
              "internalRefIdName",
              "authLayout",
              "defaultAuthAction",
              "userPoolId",
              "userPoolClientId",
              "userPoolHostedUrl",
              "appBundleIdentifier",
              "expoProjectId",
              "expoSlug",
              "emailAuthEnabled",
              "appleAuthEnabled",
              "facebookAuthEnabled",
              "googleAuthEnabled",
              "oAuth",
              "maxFileGbs",
              "maxImageCount",
              "maxVideoMins",
              "locales",
              "inviteOnly",
              "googleTagManagerId",
              "googleMapsApiKey",
              "turnstileSiteKey",
              "appleMerchantIdDomainAssociation",
              "googleMerchantId",
              "options",
              "modulesOrder"
            ]
          }
        ]
      },
      "OrganizationTrigger": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "code": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/OrganizationTriggerType"
          },
          "enabled": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "code",
          "type",
          "enabled",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseOrganizationModuleSettings": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          }
        },
        "required": [
          "organizationId"
        ]
      },
      "OrganizationModuleSettings": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOrganizationModuleSettings"
          },
          {
            "type": "object",
            "properties": {
              "meetingGroupCallAdminPreset": {
                "type": "string"
              },
              "meetingGroupCallGuestPreset": {
                "type": "string"
              },
              "meetingWebinarAdminPreset": {
                "type": "string"
              },
              "meetingWebinarGuestPreset": {
                "type": "string"
              },
              "meetingLivestreamAdminPreset": {
                "type": "string"
              },
              "meetingLivestreamGuestPreset": {
                "type": "string"
              },
              "supportAutoResolve": {
                "type": "boolean"
              },
              "supportAutoResolveMessage": {
                "type": "string"
              },
              "eventConfirmationEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventConfirmationEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventCancellationEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventCancellationEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventReminderEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventReminderEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventApprovalEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventApprovalEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventDenialEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventDenialEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventTransferEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventTransferEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventAbandonedRegistrationEmailReplyTo": {
                "type": "string",
                "nullable": true
              },
              "eventAbandonedRegistrationEmailBody": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "meetingGroupCallAdminPreset",
              "meetingGroupCallGuestPreset",
              "meetingWebinarAdminPreset",
              "meetingWebinarGuestPreset",
              "meetingLivestreamAdminPreset",
              "meetingLivestreamGuestPreset",
              "supportAutoResolve",
              "eventConfirmationEmailReplyTo",
              "eventConfirmationEmailBody",
              "eventCancellationEmailReplyTo",
              "eventCancellationEmailBody",
              "eventReminderEmailReplyTo",
              "eventReminderEmailBody",
              "eventApprovalEmailReplyTo",
              "eventApprovalEmailBody",
              "eventDenialEmailReplyTo",
              "eventDenialEmailBody",
              "eventTransferEmailReplyTo",
              "eventTransferEmailBody",
              "eventAbandonedRegistrationEmailReplyTo",
              "eventAbandonedRegistrationEmailBody"
            ]
          }
        ]
      },
      "BaseOrganizationModuleSettingsTranslation": {
        "type": "object",
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          }
        },
        "required": [
          "organizationId",
          "locale"
        ]
      },
      "OrganizationModuleSettingsTranslation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOrganizationModuleSettingsTranslation"
          },
          {
            "type": "object",
            "properties": {
              "supportAutoResolveMessage": {
                "type": "string"
              },
              "eventConfirmationEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventCancellationEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventReminderEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventApprovalEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventDenialEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventTransferEmailBody": {
                "type": "string",
                "nullable": true
              },
              "eventAbandonedRegistrationEmailBody": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "eventConfirmationEmailBody",
              "eventCancellationEmailBody",
              "eventReminderEmailBody",
              "eventApprovalEmailBody",
              "eventDenialEmailBody",
              "eventTransferEmailBody",
              "eventAbandonedRegistrationEmailBody"
            ]
          }
        ]
      },
      "OrganizationLanguageOverride": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "values": {
            "type": "object",
            "additionalProperties": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "key",
          "values",
          "createdAt",
          "updatedAt"
        ]
      },
      "PurchaseStatus": {
        "type": "string",
        "enum": [
          "draft",
          "canceled",
          "pending",
          "needsInfo",
          "ready"
        ]
      },
      "BaseEventPass": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "attendeeId": {
            "type": "string"
          },
          "attendee": {
            "type": "object",
            "properties": {
              "alternateId": {
                "type": "number"
              },
              "email": {
                "type": "string",
                "nullable": true
              },
              "account": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "firstName": {
                    "type": "string",
                    "nullable": true
                  },
                  "lastName": {
                    "type": "string",
                    "nullable": true
                  },
                  "email": {
                    "type": "string"
                  }
                },
                "required": [
                  "id",
                  "firstName",
                  "lastName",
                  "email"
                ],
                "nullable": true
              }
            },
            "required": [
              "alternateId",
              "email",
              "account"
            ]
          },
          "alternateId": {
            "type": "number"
          },
          "ticketId": {
            "type": "string"
          },
          "ticket": {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "usedAt": {
            "type": "string",
            "nullable": true
          },
          "transferId": {
            "type": "string",
            "nullable": true
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseRegistrationQuestionResponse"
            }
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "reservationId": {
            "type": "string",
            "nullable": true
          },
          "reservation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEventRoomTypeReservation"
              }
            ],
            "nullable": true
          },
          "matches": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseMatch"
            }
          },
          "couponId": {
            "type": "string",
            "nullable": true
          },
          "coupon": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseCoupon"
              }
            ],
            "nullable": true
          },
          "packageId": {
            "type": "string",
            "nullable": true
          },
          "package": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseRegistrationPackage"
              }
            ],
            "nullable": true
          },
          "seriesRegistrationId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "eventId",
          "attendeeId",
          "attendee",
          "alternateId",
          "ticketId",
          "ticket",
          "location",
          "usedAt",
          "transferId",
          "responses",
          "status",
          "reservationId",
          "reservation",
          "matches",
          "couponId",
          "coupon",
          "packageId",
          "package",
          "seriesRegistrationId",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventPass": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPass"
          },
          {
            "type": "object",
            "properties": {
              "passAddOns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BasePassAddOn"
                }
              },
              "attendeeId": {
                "type": "string"
              },
              "attendee": {
                "$ref": "#/components/schemas/BaseEventRegistration"
              },
              "lineItem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentLineItem"
                  }
                ],
                "nullable": true
              },
              "payerId": {
                "type": "string",
                "nullable": true
              },
              "payer": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "seriesRegistration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSeriesRegistration"
                  }
                ],
                "nullable": true
              },
              "attributes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BasePassAttribute"
                }
              },
              "badgeColor": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "passAddOns",
              "attendeeId",
              "attendee",
              "lineItem",
              "payerId",
              "payer",
              "seriesRegistration",
              "attributes",
              "badgeColor"
            ]
          }
        ]
      },
      "BasePassAddOn": {
        "type": "object",
        "properties": {
          "addOnId": {
            "type": "string"
          },
          "addOn": {
            "$ref": "#/components/schemas/BaseEventAddOn"
          },
          "fulfilledAt": {
            "type": "string",
            "nullable": true
          },
          "pass": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "attendeeId": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "attendeeId"
            ]
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "addOnId",
          "addOn",
          "fulfilledAt",
          "pass",
          "createdAt"
        ]
      },
      "PassAddOn": {
        "type": "object",
        "properties": {
          "addOnId": {
            "type": "string"
          },
          "addOn": {
            "$ref": "#/components/schemas/BaseEventAddOn"
          },
          "fulfilledAt": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "pass": {
            "$ref": "#/components/schemas/BaseEventPass"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "addOnId",
          "addOn",
          "fulfilledAt",
          "createdAt",
          "pass",
          "updatedAt"
        ]
      },
      "BasePushDevice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "model": {
            "type": "string",
            "nullable": true
          },
          "brand": {
            "type": "string",
            "nullable": true
          },
          "osName": {
            "type": "string",
            "nullable": true
          },
          "osVersion": {
            "type": "string",
            "nullable": true
          },
          "deviceYearClass": {
            "type": "number",
            "nullable": true
          },
          "manufacturer": {
            "type": "string",
            "nullable": true
          },
          "supportedCpuArchitectures": {
            "type": "string",
            "nullable": true
          },
          "totalMemory": {
            "type": "number",
            "nullable": true
          },
          "pushService": {
            "$ref": "#/components/schemas/PushService"
          },
          "login": {
            "$ref": "#/components/schemas/BaseLogin"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "model",
          "brand",
          "osName",
          "osVersion",
          "deviceYearClass",
          "manufacturer",
          "supportedCpuArchitectures",
          "totalMemory",
          "pushService",
          "login",
          "createdAt",
          "updatedAt"
        ]
      },
      "PushDevice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePushDevice"
          }
        ]
      },
      "BaseRegistrationBypass": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "closed": {
            "type": "boolean"
          },
          "preRegister": {
            "type": "boolean"
          },
          "postRegister": {
            "type": "boolean"
          },
          "accountId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "closed",
          "preRegister",
          "postRegister",
          "accountId",
          "account",
          "createdAt",
          "updatedAt"
        ]
      },
      "RegistrationBypass": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationBypass"
          }
        ]
      },
      "PaymentType": {
        "type": "string",
        "enum": [
          "charge",
          "refund"
        ]
      },
      "BasePayment": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentType"
          },
          "currency": {
            "type": "string"
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "ticket": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEventPassType"
              }
            ],
            "nullable": true
          },
          "stripeId": {
            "type": "string",
            "nullable": true
          },
          "last4": {
            "type": "string",
            "nullable": true
          },
          "debugId": {
            "type": "string",
            "nullable": true
          },
          "accountName": {
            "type": "string",
            "nullable": true
          },
          "accountEmail": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "captured": {
            "type": "boolean"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "registrationId": {
            "type": "string",
            "nullable": true
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "passId": {
            "type": "string",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "spaceId": {
            "type": "string",
            "nullable": true
          },
          "membershipId": {
            "type": "string",
            "nullable": true
          },
          "couponId": {
            "type": "string",
            "nullable": true
          },
          "invoiceId": {
            "type": "string",
            "nullable": true
          },
          "seriesId": {
            "type": "string",
            "nullable": true
          },
          "taxIntegrationCompanyCode": {
            "type": "string",
            "nullable": true
          },
          "taxIntegrationCustomerId": {
            "type": "string",
            "nullable": true
          },
          "taxIntegrationEntityUseCode": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/components/schemas/BaseOrganizationEntity"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePaymentLineItem"
            }
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "currency",
          "ticketId",
          "ticket",
          "stripeId",
          "last4",
          "debugId",
          "accountName",
          "accountEmail",
          "address1",
          "address2",
          "city",
          "country",
          "state",
          "zip",
          "captured",
          "accountId",
          "eventId",
          "registrationId",
          "passTypeId",
          "passId",
          "sessionId",
          "spaceId",
          "membershipId",
          "couponId",
          "invoiceId",
          "seriesId",
          "taxIntegrationCompanyCode",
          "taxIntegrationCustomerId",
          "taxIntegrationEntityUseCode",
          "entityId",
          "entity",
          "lineItems",
          "createdAt"
        ]
      },
      "PaymentIntegrationType": {
        "type": "string",
        "enum": [
          "stripe",
          "paypal",
          "braintree",
          "authorizenet",
          "manual"
        ]
      },
      "Payment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePayment"
          },
          {
            "type": "object",
            "properties": {
              "locationAddress1": {
                "type": "string",
                "nullable": true
              },
              "locationAddress2": {
                "type": "string",
                "nullable": true
              },
              "locationCity": {
                "type": "string",
                "nullable": true
              },
              "locationState": {
                "type": "string",
                "nullable": true
              },
              "locationCountry": {
                "type": "string",
                "nullable": true
              },
              "locationZip": {
                "type": "string",
                "nullable": true
              },
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "bypassedId": {
                "type": "string",
                "nullable": true
              },
              "bypassedBy": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseUser"
                  }
                ],
                "nullable": true
              },
              "refunds": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BasePayment"
                }
              },
              "refunded": {
                "type": "object",
                "nullable": true
              },
              "deferredAmount": {
                "type": "number",
                "nullable": true
              },
              "deferredDueDate": {
                "type": "string",
                "nullable": true
              },
              "deferredInvoices": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseInvoice"
                }
              },
              "integration": {
                "type": "object",
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/PaymentIntegrationType"
                  }
                },
                "required": [
                  "type"
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "registration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventRegistration"
                  }
                ],
                "nullable": true
              },
              "passType": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "pass": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPass"
                  }
                ],
                "nullable": true
              },
              "session": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSession"
                  }
                ],
                "nullable": true
              },
              "space": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseBookingSpace"
                  }
                ],
                "nullable": true
              },
              "coupon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseCoupon"
                  }
                ],
                "nullable": true
              },
              "invoice": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseInvoice"
                  }
                ],
                "nullable": true
              },
              "series": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSeries"
                  }
                ],
                "nullable": true
              },
              "exchangeTarget": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassTypeExchangeTarget"
                  }
                ],
                "nullable": true
              },
              "metadata": {
                "type": "object"
              },
              "lineItems": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "locationAddress1",
              "locationAddress2",
              "locationCity",
              "locationState",
              "locationCountry",
              "locationZip",
              "account",
              "bypassedId",
              "bypassedBy",
              "refunds",
              "refunded",
              "deferredAmount",
              "deferredDueDate",
              "deferredInvoices",
              "integration",
              "event",
              "registration",
              "passType",
              "pass",
              "session",
              "space",
              "coupon",
              "invoice",
              "series",
              "exchangeTarget",
              "lineItems"
            ]
          }
        ]
      },
      "PaymentIntentSource": {
        "type": "string",
        "enum": [
          "registration",
          "invoice",
          "passAddOns",
          "passSessions",
          "passExchange",
          "coupon",
          "session",
          "booking",
          "series"
        ]
      },
      "BasePaymentIntentLineItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentLineItemType"
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          },
          "deferred": {
            "type": "number"
          },
          "salesTax": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "passId": {
            "type": "string",
            "nullable": true
          },
          "packageId": {
            "type": "string",
            "nullable": true
          },
          "passAddOnId": {
            "type": "string",
            "nullable": true
          },
          "reservationId": {
            "type": "string",
            "nullable": true
          },
          "accessId": {
            "type": "string",
            "nullable": true
          },
          "invoiceId": {
            "type": "string",
            "nullable": true
          },
          "bookingId": {
            "type": "string",
            "nullable": true
          },
          "couponId": {
            "type": "string",
            "nullable": true
          },
          "seriesRegistrationId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "parent",
          "name",
          "quantity",
          "amount",
          "discount",
          "deferred",
          "salesTax",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "passId",
          "packageId",
          "passAddOnId",
          "reservationId",
          "accessId",
          "invoiceId",
          "bookingId",
          "couponId",
          "seriesRegistrationId",
          "createdAt"
        ]
      },
      "BasePaymentIntent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/PaymentIntentSource"
          },
          "integrationId": {
            "type": "number"
          },
          "accountId": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "referenceId": {
            "type": "string"
          },
          "currency": {
            "type": "string"
          },
          "metadata": {
            "type": "object"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "registrationId": {
            "type": "string",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "passId": {
            "type": "string",
            "nullable": true
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "spaceId": {
            "type": "string",
            "nullable": true
          },
          "couponId": {
            "type": "string",
            "nullable": true
          },
          "invoiceId": {
            "type": "string",
            "nullable": true
          },
          "seriesId": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "locationAddress1": {
            "type": "string",
            "nullable": true
          },
          "locationAddress2": {
            "type": "string",
            "nullable": true
          },
          "locationCity": {
            "type": "string",
            "nullable": true
          },
          "locationState": {
            "type": "string",
            "nullable": true
          },
          "locationCountry": {
            "type": "string",
            "nullable": true
          },
          "locationZip": {
            "type": "string",
            "nullable": true
          },
          "salesTax": {
            "type": "number"
          },
          "salesTaxRate": {
            "type": "string",
            "nullable": true
          },
          "deferredAmount": {
            "type": "number",
            "nullable": true
          },
          "deferredDueDate": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "lineItems": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePaymentIntentLineItem"
            }
          },
          "coupon": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseCoupon"
              }
            ],
            "nullable": true
          },
          "integration": {
            "type": "object",
            "properties": {
              "type": {
                "$ref": "#/components/schemas/PaymentIntegrationType"
              },
              "connectionId": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "type",
              "connectionId"
            ],
            "nullable": true
          },
          "taxIntegration": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              },
              "connectionId": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "type",
              "connectionId"
            ],
            "nullable": true
          },
          "taxIntegrationCompanyCode": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string"
          },
          "entity": {
            "$ref": "#/components/schemas/BaseOrganizationEntity"
          }
        },
        "required": [
          "id",
          "source",
          "integrationId",
          "accountId",
          "description",
          "referenceId",
          "currency",
          "metadata",
          "eventId",
          "registrationId",
          "sessionId",
          "passId",
          "passTypeId",
          "spaceId",
          "couponId",
          "invoiceId",
          "seriesId",
          "address1",
          "address2",
          "city",
          "state",
          "country",
          "zip",
          "locationAddress1",
          "locationAddress2",
          "locationCity",
          "locationState",
          "locationCountry",
          "locationZip",
          "salesTax",
          "salesTaxRate",
          "deferredAmount",
          "deferredDueDate",
          "createdAt",
          "lineItems",
          "coupon",
          "integration",
          "taxIntegration",
          "taxIntegrationCompanyCode",
          "entityId",
          "entity"
        ]
      },
      "PaymentIntent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentIntent"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "session": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSession"
                  }
                ],
                "nullable": true
              },
              "registration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventRegistration"
                  }
                ],
                "nullable": true
              },
              "pass": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPass"
                  }
                ],
                "nullable": true
              },
              "passType": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "space": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseBookingSpace"
                  }
                ],
                "nullable": true
              },
              "invoice": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseInvoice"
                  }
                ],
                "nullable": true
              },
              "series": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSeries"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "account",
              "event",
              "session",
              "registration",
              "pass",
              "passType",
              "space",
              "invoice",
              "series"
            ]
          }
        ]
      },
      "PaymentLineItemType": {
        "type": "string",
        "enum": [
          "general",
          "pass",
          "package",
          "reservation",
          "addOn",
          "access",
          "invoice",
          "booking",
          "coupon",
          "series",
          "refund"
        ]
      },
      "BasePaymentLineItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentLineItemType"
          },
          "parent": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "paid": {
            "type": "number"
          },
          "refunded": {
            "type": "number"
          },
          "discount": {
            "type": "number"
          },
          "deferred": {
            "type": "number"
          },
          "salesTax": {
            "type": "number"
          },
          "taxRate": {
            "type": "number",
            "nullable": true
          },
          "refundedSalesTax": {
            "type": "number"
          },
          "paymentId": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "passId": {
            "type": "string",
            "nullable": true
          },
          "packageId": {
            "type": "string",
            "nullable": true
          },
          "passAddOnId": {
            "type": "string",
            "nullable": true
          },
          "reservationId": {
            "type": "string",
            "nullable": true
          },
          "accessId": {
            "type": "string",
            "nullable": true
          },
          "bookingId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "type",
          "parent",
          "name",
          "quantity",
          "amount",
          "paid",
          "refunded",
          "discount",
          "deferred",
          "salesTax",
          "taxRate",
          "refundedSalesTax",
          "paymentId",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "passId",
          "packageId",
          "passAddOnId",
          "reservationId",
          "accessId",
          "bookingId"
        ]
      },
      "PaymentLineItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentLineItem"
          },
          {
            "type": "object",
            "properties": {
              "pass": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPass"
                  }
                ],
                "nullable": true
              },
              "package": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPackage"
                  }
                ],
                "nullable": true
              },
              "passAddOn": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePassAddOn"
                  }
                ],
                "nullable": true
              },
              "reservation": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventRoomTypeReservation"
                  }
                ],
                "nullable": true
              },
              "access": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSessionAccess"
                  }
                ],
                "nullable": true
              },
              "booking": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseBooking"
                  }
                ],
                "nullable": true
              },
              "coupon": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseCoupon"
                  }
                ],
                "nullable": true
              },
              "seriesRegistration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSeriesRegistration"
                  }
                ],
                "nullable": true
              },
              "payment": {
                "$ref": "#/components/schemas/BasePayment"
              }
            },
            "required": [
              "pass",
              "package",
              "passAddOn",
              "reservation",
              "access",
              "booking",
              "coupon",
              "seriesRegistration",
              "payment"
            ]
          }
        ]
      },
      "BasePaymentIntegration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/PaymentIntegrationType"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "currencyCode",
          "type",
          "name"
        ]
      },
      "PaymentIntegration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePaymentIntegration"
          },
          {
            "type": "object",
            "properties": {
              "connectionId": {
                "type": "string"
              },
              "merchantAccountId": {
                "type": "string",
                "nullable": true
              },
              "enabled": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "connectionId",
              "merchantAccountId",
              "enabled",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "TaxIntegrationType": {
        "type": "string",
        "enum": [
          "stripe",
          "taxjar",
          "vertex",
          "avalara"
        ]
      },
      "TaxIntegration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/TaxIntegrationType"
          },
          "connectionId": {
            "type": "string"
          },
          "instanceUrl": {
            "type": "string",
            "nullable": true
          },
          "sandbox": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "companyCode": {
            "type": "string"
          },
          "commit": {
            "type": "boolean"
          },
          "logging": {
            "type": "boolean"
          },
          "passTaxCode": {
            "type": "string"
          },
          "packageTaxCode": {
            "type": "string"
          },
          "reservationTaxCode": {
            "type": "string"
          },
          "addOnTaxCode": {
            "type": "string"
          },
          "accessTaxCode": {
            "type": "string"
          },
          "invoiceTaxCode": {
            "type": "string"
          },
          "bookingTaxCode": {
            "type": "string"
          },
          "couponTaxCode": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "connectionId",
          "instanceUrl",
          "sandbox",
          "enabled",
          "companyCode",
          "commit",
          "logging",
          "passTaxCode",
          "packageTaxCode",
          "reservationTaxCode",
          "addOnTaxCode",
          "accessTaxCode",
          "invoiceTaxCode",
          "bookingTaxCode",
          "couponTaxCode",
          "createdAt",
          "updatedAt"
        ]
      },
      "TaxIntegrationLogType": {
        "type": "string",
        "enum": [
          "quote",
          "record",
          "refund"
        ]
      },
      "BaseTaxIntegrationLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/TaxIntegrationLogType"
          },
          "success": {
            "type": "boolean"
          },
          "duration": {
            "type": "number"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "success",
          "duration",
          "createdAt",
          "updatedAt"
        ]
      },
      "TaxIntegrationLog": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTaxIntegrationLog"
          },
          {
            "type": "object",
            "properties": {
              "request": {
                "type": "object"
              },
              "response": {
                "type": "object"
              }
            },
            "required": [
              "request",
              "response"
            ]
          }
        ]
      },
      "BaseRegistrationQuestionChoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "subQuestions": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RegistrationQuestion"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "questionId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "questionId"
                  ]
                }
              }
            ]
          },
          "question": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "_count": {
            "type": "object",
            "properties": {
              "subQuestions": {
                "type": "number"
              }
            },
            "required": [
              "subQuestions"
            ]
          }
        },
        "required": [
          "id",
          "value",
          "text",
          "description",
          "supply",
          "sortOrder",
          "question",
          "_count"
        ]
      },
      "Question": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "value"
        ]
      },
      "RegistrationQuestionChoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationQuestionChoice"
          },
          {
            "type": "object",
            "properties": {
              "questionId": {
                "type": "string"
              },
              "question": {
                "$ref": "#/components/schemas/BaseRegistrationQuestion"
              },
              "subQuestions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseRegistrationQuestionChoiceSubQuestion"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questionId",
              "question",
              "subQuestions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationQuestionChoiceSubQuestion": {
        "type": "object",
        "properties": {
          "choiceId": {
            "type": "string"
          },
          "choice": {
            "$ref": "#/components/schemas/BaseRegistrationQuestionChoice"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseRegistrationQuestion"
          }
        },
        "required": [
          "choiceId",
          "choice",
          "questionId",
          "question"
        ]
      },
      "RegistrationQuestionChoiceSubQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationQuestionChoiceSubQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sortOrder",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "RegistrationQuestionChoiceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "value",
          "text",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseRegistrationQuestionResponseChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "newValue",
          "oldValue",
          "eventId",
          "questionId",
          "responseId",
          "userId",
          "createdAt"
        ]
      },
      "RegistrationQuestionResponseChange": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationQuestionResponseChange"
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "$ref": "#/components/schemas/BaseRegistrationQuestionResponse"
              },
              "user": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseUser"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "response",
              "user"
            ]
          }
        ]
      },
      "BaseRegistrationQuestionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseRegistrationQuestion"
          }
        },
        "required": [
          "id",
          "value",
          "questionId",
          "question"
        ]
      },
      "RegistrationQuestionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationQuestionResponse"
          },
          {
            "type": "object",
            "properties": {
              "changeLogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseRegistrationQuestionResponseChange"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "changeLogs",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/RegistrationQuestionType"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "searchList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSearchList"
              }
            ],
            "nullable": true
          },
          "span": {
            "type": "number"
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseRegistrationQuestionChoice"
            }
          },
          "unique": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "eventId",
          "type",
          "name",
          "required",
          "description",
          "label",
          "placeholder",
          "default",
          "searchListId",
          "searchList",
          "span",
          "mutable",
          "min",
          "max",
          "masked",
          "validation",
          "validationMessage",
          "locationOption",
          "sortOrder",
          "featured",
          "choices",
          "unique"
        ]
      },
      "RegistrationQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sections": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseRegistrationSectionQuestion"
                }
              },
              "followups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseRegistrationFollowupQuestion"
                }
              },
              "subQuestionOf": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RegistrationQuestionChoiceSubQuestion"
                }
              },
              "dashboardVisibility": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sections",
              "followups",
              "subQuestionOf",
              "dashboardVisibility",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "RegistrationQuestionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "label",
          "placeholder",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseRegistrationSectionQuestion": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "string"
          },
          "section": {
            "$ref": "#/components/schemas/BaseRegistrationSection"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseRegistrationQuestion"
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "sectionId",
          "section",
          "questionId",
          "question",
          "sortOrder"
        ]
      },
      "RegistrationSectionQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationSectionQuestion"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationFollowupQuestion": {
        "type": "object",
        "properties": {
          "followupId": {
            "type": "string"
          },
          "followup": {
            "$ref": "#/components/schemas/BaseRegistrationFollowup"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseRegistrationQuestion"
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "followupId",
          "followup",
          "questionId",
          "question",
          "sortOrder"
        ]
      },
      "RegistrationFollowupQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationFollowupQuestion"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationSection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "_count": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "number"
              }
            },
            "required": [
              "questions"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "name",
          "description",
          "sortOrder",
          "_count"
        ]
      },
      "RegistrationSection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationSection"
          },
          {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RegistrationQuestion"
                }
              },
              "eventTickets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPassType"
                }
              },
              "eventAddOns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventAddOn"
                }
              },
              "accountTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questions",
              "eventTickets",
              "eventAddOns",
              "accountTiers",
              "disallowedTiers",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationFollowup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "_count": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "number"
              }
            },
            "required": [
              "questions"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "name",
          "description",
          "sortOrder",
          "_count"
        ]
      },
      "RegistrationFollowup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationFollowup"
          },
          {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RegistrationQuestion"
                }
              },
              "passTypes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPassType"
                }
              },
              "eventAddOns": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventAddOn"
                }
              },
              "accountTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questions",
              "passTypes",
              "eventAddOns",
              "accountTiers",
              "disallowedTiers",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "RegistrationSectionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "RegistrationFollowupTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventRegistration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "alternateId": {
            "type": "number"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string"
          },
          "event": {
            "$ref": "#/components/schemas/BaseEvent"
          }
        },
        "required": [
          "id",
          "alternateId",
          "accountId",
          "account",
          "email",
          "eventId",
          "event"
        ]
      },
      "EventRegistration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventRegistration"
          },
          {
            "type": "object",
            "properties": {
              "passes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPass"
                }
              },
              "packages": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseRegistrationPackage"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "payments": {
                    "type": "number"
                  },
                  "coupons": {
                    "type": "number"
                  }
                },
                "required": [
                  "payments",
                  "coupons"
                ]
              }
            },
            "required": [
              "passes",
              "packages",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "ReportType": {
        "type": "string",
        "enum": [
          "organization",
          "activities",
          "activity",
          "surveys",
          "survey",
          "events",
          "event",
          "session",
          "listing",
          "bookings",
          "booking",
          "groups",
          "group",
          "channels",
          "channel",
          "content",
          "threads",
          "thread",
          "accounts",
          "account",
          "revenue",
          "series"
        ]
      },
      "EventReportDateType": {
        "type": "string",
        "enum": [
          "lifetime",
          "year",
          "quarter",
          "month"
        ]
      },
      "ReportFilters": {
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string"
          },
          "placeId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "channelId": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "surveyId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "seriesId": {
            "type": "string"
          }
        }
      },
      "BaseStandardReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ReportType"
          },
          "category": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "dateType": {
            "$ref": "#/components/schemas/EventReportDateType"
          },
          "favorite": {
            "type": "boolean"
          },
          "rowLink": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "category",
          "name",
          "description",
          "dateType",
          "favorite"
        ]
      },
      "StandardReport": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseStandardReport"
          },
          {
            "type": "object",
            "properties": {
              "rowData": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "colDefs": {
                "type": "array",
                "items": {
                  "type": "object"
                }
              },
              "nextCursor": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "rowData",
              "colDefs",
              "nextCursor"
            ]
          }
        ]
      },
      "CustomReport": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "gridState": {
            "type": "string",
            "nullable": true
          },
          "columns": {
            "type": "string",
            "nullable": true
          },
          "filters": {
            "type": "string",
            "nullable": true
          },
          "charts": {
            "type": "string",
            "nullable": true
          },
          "advancedFilter": {
            "type": "string",
            "nullable": true
          },
          "standard": {
            "$ref": "#/components/schemas/StandardReport"
          },
          "user": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseUser"
              }
            ],
            "nullable": true
          },
          "shared": {
            "type": "boolean"
          },
          "sharedUsers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseUser"
            }
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "gridState",
          "columns",
          "filters",
          "charts",
          "advancedFilter",
          "standard",
          "user",
          "shared",
          "sharedUsers",
          "createdAt",
          "updatedAt"
        ]
      },
      "CustomReportSchedule": {
        "type": "object",
        "properties": {
          "scheduleExpression": {
            "type": "string",
            "nullable": true
          },
          "scheduleTimezone": {
            "type": "string",
            "nullable": true
          },
          "scheduleEmails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "required": [
          "scheduleExpression",
          "scheduleTimezone",
          "scheduleEmails"
        ]
      },
      "SearchField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "subtext": {
            "type": "string",
            "nullable": true
          },
          "search": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "contentId": {
            "type": "string",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "threadId": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "subtext",
          "search",
          "accountId",
          "eventId",
          "groupId",
          "contentId",
          "channelId",
          "threadId",
          "updatedAt"
        ]
      },
      "Self": {
        "allOf": [
          {
            "$ref": "#/components/schemas/User"
          }
        ]
      },
      "SeriesQuestionType": {
        "type": "string",
        "enum": [
          "text",
          "textarea",
          "number",
          "time",
          "date",
          "toggle",
          "select",
          "radio",
          "checkbox",
          "search",
          "file",
          "location"
        ]
      },
      "BaseSeriesQuestionChoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "value",
          "text",
          "description",
          "supply",
          "sortOrder"
        ]
      },
      "SeriesQuestionChoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSeriesQuestionChoice"
          },
          {
            "type": "object",
            "properties": {
              "questionId": {
                "type": "string"
              },
              "question": {
                "$ref": "#/components/schemas/BaseSeriesQuestion"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questionId",
              "question",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SeriesQuestionChoiceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "value",
          "text",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSeriesQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "seriesId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/SeriesQuestionType"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "searchList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSearchList"
              }
            ],
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseSeriesQuestionChoice"
            }
          }
        },
        "required": [
          "id",
          "seriesId",
          "type",
          "name",
          "required",
          "description",
          "label",
          "placeholder",
          "default",
          "searchListId",
          "searchList",
          "mutable",
          "min",
          "max",
          "masked",
          "validation",
          "validationMessage",
          "locationOption",
          "sortOrder",
          "featured",
          "choices"
        ]
      },
      "SeriesQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSeriesQuestion"
          },
          {
            "type": "object",
            "properties": {
              "dashboardVisibility": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "translations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SeriesQuestionTranslation"
                }
              }
            },
            "required": [
              "dashboardVisibility",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SeriesQuestionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "label",
          "placeholder",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSeriesRegistrationQuestionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseSeriesQuestion"
          }
        },
        "required": [
          "id",
          "value",
          "questionId",
          "question"
        ]
      },
      "SeriesRegistrationQuestionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSeriesRegistrationQuestionResponse"
          },
          {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "number",
                "nullable": true
              },
              "file": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseFile"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "fileId",
              "file",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSeries": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "featured": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentIntegration"
              }
            ],
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "entity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseOrganizationEntity"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "longDescription",
          "registration",
          "featured",
          "startDate",
          "endDate",
          "imageId",
          "image",
          "address1",
          "address2",
          "city",
          "state",
          "country",
          "zip",
          "paymentIntegrationId",
          "paymentIntegration",
          "entityId",
          "entity"
        ]
      },
      "Series": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSeries"
          },
          {
            "type": "object",
            "properties": {
              "templateId": {
                "type": "string"
              },
              "template": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "sortOrder": {
                "type": "number"
              },
              "price": {
                "type": "number",
                "nullable": true
              },
              "taxCode": {
                "type": "string",
                "nullable": true
              },
              "taxIncluded": {
                "type": "boolean"
              },
              "taxLocation": {
                "$ref": "#/components/schemas/TaxLocationType"
              },
              "subject": {
                "type": "string",
                "nullable": true
              },
              "replyTo": {
                "type": "string",
                "nullable": true
              },
              "body": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "templateId",
              "template",
              "sortOrder",
              "price",
              "taxCode",
              "taxIncluded",
              "taxLocation",
              "subject",
              "replyTo",
              "body",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SeriesTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "longDescription",
          "subject",
          "replyTo",
          "body",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSeriesRegistration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "seriesId": {
            "type": "string"
          },
          "series": {
            "$ref": "#/components/schemas/BaseSeries"
          },
          "accountId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseSeriesRegistrationQuestionResponse"
            }
          }
        },
        "required": [
          "id",
          "organizationId",
          "seriesId",
          "series",
          "accountId",
          "account",
          "status"
        ]
      },
      "SeriesRegistration": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSeriesRegistration"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "passes": {
                    "type": "number"
                  }
                },
                "required": [
                  "passes"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "EventSessionPrice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passTypeId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "passTypeId",
          "price"
        ]
      },
      "EventSessionVisibility": {
        "type": "string",
        "enum": [
          "PUBLIC",
          "PREVIEW",
          "RESTRICTED",
          "REGISTERED",
          "HIDDEN"
        ]
      },
      "BaseEventSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "registrationEnd": {
            "type": "string"
          },
          "onsiteRegistration": {
            "type": "boolean"
          },
          "skipOnsiteValidations": {
            "type": "boolean"
          },
          "allowQuickRegister": {
            "type": "boolean"
          },
          "tracks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventTrack"
            }
          },
          "nonSession": {
            "type": "boolean"
          },
          "visibility": {
            "$ref": "#/components/schemas/EventSessionVisibility"
          },
          "featured": {
            "type": "boolean"
          },
          "location": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEventSessionLocation"
              }
            ],
            "nullable": true
          },
          "registrationEnabled": {
            "type": "boolean"
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "prices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventSessionPrice"
            }
          },
          "limit": {
            "type": "number",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "longDescription",
          "imageId",
          "image",
          "startTime",
          "endTime",
          "onsiteRegistration",
          "skipOnsiteValidations",
          "allowQuickRegister",
          "tracks",
          "nonSession",
          "visibility",
          "featured",
          "location",
          "registrationEnabled",
          "price",
          "prices",
          "limit",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventSession": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSession"
          },
          {
            "type": "object",
            "properties": {
              "roundName": {
                "type": "string",
                "nullable": true
              },
              "matchName": {
                "type": "string",
                "nullable": true
              },
              "sortOrder": {
                "type": "number"
              },
              "eventId": {
                "type": "string"
              },
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "speakers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSpeaker"
                }
              },
              "meetingId": {
                "type": "string",
                "nullable": true
              },
              "autoRefundEnabled": {
                "type": "boolean"
              },
              "autoRefundPercentage": {
                "type": "number",
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "blocks": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventBlock"
                },
                "nullable": true
              },
              "activationId": {
                "type": "string",
                "nullable": true
              },
              "activation": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventActivation"
                  }
                ],
                "nullable": true
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "continuousScanning": {
                "type": "boolean"
              },
              "scanType": {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            },
            "required": [
              "roundName",
              "matchName",
              "sortOrder",
              "eventId",
              "event",
              "speakers",
              "meetingId",
              "autoRefundEnabled",
              "autoRefundPercentage",
              "meeting",
              "blocks",
              "activationId",
              "activation",
              "allowedTiers",
              "continuousScanning",
              "scanType"
            ]
          }
        ]
      },
      "EventSessionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "longDescription",
          "imageId",
          "image",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSessionLocation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "room": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "room",
          "address1",
          "address2",
          "zip",
          "city",
          "state",
          "country",
          "location",
          "image"
        ]
      },
      "EventSessionLocation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionLocation"
          },
          {
            "type": "object",
            "properties": {
              "latitude": {
                "type": "number",
                "nullable": true
              },
              "longitude": {
                "type": "number",
                "nullable": true
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "latitude",
              "longitude",
              "description",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSessionLocationTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSessionAccess": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "session": {
            "$ref": "#/components/schemas/BaseEventSession"
          },
          "passId": {
            "type": "string"
          },
          "pass": {
            "$ref": "#/components/schemas/BaseEventPass"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventSessionQuestionResponse"
            }
          }
        },
        "required": [
          "id",
          "session",
          "passId",
          "pass",
          "status",
          "responses"
        ]
      },
      "EventSessionAccess": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionAccess"
          },
          {
            "type": "object",
            "properties": {
              "lineItem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentLineItem"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "lineItem",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSessionQuestionType": {
        "type": "string",
        "enum": [
          "text",
          "textarea",
          "number",
          "date",
          "toggle",
          "select",
          "radio",
          "checkbox",
          "search",
          "file",
          "location"
        ]
      },
      "BaseEventSessionQuestionChoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "subQuestions": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventSessionQuestion"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "questionId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "questionId"
                  ]
                }
              }
            ]
          },
          "question": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "_count": {
            "type": "object",
            "properties": {
              "subQuestions": {
                "type": "number"
              }
            },
            "required": [
              "subQuestions"
            ]
          }
        },
        "required": [
          "id",
          "value",
          "text",
          "description",
          "supply",
          "sortOrder",
          "question",
          "_count"
        ]
      },
      "EventSessionQuestionChoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionQuestionChoice"
          },
          {
            "type": "object",
            "properties": {
              "questionId": {
                "type": "string"
              },
              "question": {
                "$ref": "#/components/schemas/BaseEventSessionQuestion"
              },
              "subQuestions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSessionQuestionChoiceSubQuestion"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questionId",
              "question",
              "subQuestions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventSessionQuestionChoiceSubQuestion": {
        "type": "object",
        "properties": {
          "choiceId": {
            "type": "string"
          },
          "choice": {
            "$ref": "#/components/schemas/BaseEventSessionQuestionChoice"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseEventSessionQuestion"
          }
        },
        "required": [
          "choiceId",
          "choice",
          "questionId",
          "question"
        ]
      },
      "EventSessionQuestionChoiceSubQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionQuestionChoiceSubQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sortOrder",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSessionQuestionChoiceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "value",
          "text",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSessionQuestionResponseChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "newValue",
          "oldValue",
          "eventId",
          "questionId",
          "responseId",
          "userId",
          "createdAt"
        ]
      },
      "EventSessionQuestionResponseChange": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionQuestionResponseChange"
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "$ref": "#/components/schemas/BaseEventSessionQuestionResponse"
              },
              "user": {
                "$ref": "#/components/schemas/BaseUser"
              }
            },
            "required": [
              "response",
              "user"
            ]
          }
        ]
      },
      "BaseEventSessionQuestionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseEventSessionQuestion"
          }
        },
        "required": [
          "id",
          "value",
          "questionId",
          "question"
        ]
      },
      "EventSessionQuestionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionQuestionResponse"
          },
          {
            "type": "object",
            "properties": {
              "changeLogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSessionQuestionResponseChange"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "changeLogs",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventSessionQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/EventSessionQuestionType"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "searchList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSearchList"
              }
            ],
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventSessionQuestionChoice"
            }
          }
        },
        "required": [
          "id",
          "eventId",
          "type",
          "name",
          "required",
          "description",
          "label",
          "placeholder",
          "default",
          "searchListId",
          "searchList",
          "mutable",
          "min",
          "max",
          "masked",
          "validation",
          "validationMessage",
          "locationOption",
          "sortOrder",
          "featured",
          "choices"
        ]
      },
      "EventSessionQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sections": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSessionSectionQuestion"
                }
              },
              "subQuestionOf": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventSessionQuestionChoiceSubQuestion"
                }
              },
              "dashboardVisibility": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "responses": {
                    "type": "number"
                  }
                },
                "required": [
                  "responses"
                ]
              }
            },
            "required": [
              "sections",
              "subQuestionOf",
              "dashboardVisibility",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "EventSessionQuestionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "label",
          "placeholder",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSessionSectionQuestion": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "string"
          },
          "section": {
            "$ref": "#/components/schemas/BaseEventSessionSection"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseEventSessionQuestion"
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "sectionId",
          "section",
          "questionId",
          "question",
          "sortOrder"
        ]
      },
      "EventSessionSectionQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionSectionQuestion"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventSessionSection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "_count": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "number"
              }
            },
            "required": [
              "questions"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "name",
          "description",
          "sortOrder",
          "_count"
        ]
      },
      "EventSessionSection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSessionSection"
          },
          {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EventSessionQuestion"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSessionSectionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventSessionTimeTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventSessionTime": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string"
          },
          "speakers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventSpeaker"
            }
          },
          "translations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventSessionTimeTranslation"
            }
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "startTime",
          "speakers",
          "translations",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventBlock": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "number"
          },
          "grouped": {
            "type": "boolean"
          },
          "collapsed": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "limit",
          "grouped",
          "collapsed"
        ]
      },
      "EventBlock": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventBlock"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "sessions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSession"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "event",
              "sessions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventSpeaker": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "fullName": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "slug",
          "firstName",
          "lastName",
          "fullName",
          "bio",
          "title",
          "company",
          "companyBio",
          "label",
          "imageId",
          "image",
          "visible"
        ]
      },
      "EventSpeaker": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSpeaker"
          },
          {
            "type": "object",
            "properties": {
              "sessions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSession"
                }
              },
              "eventId": {
                "type": "string"
              },
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "isHost": {
                "type": "boolean"
              },
              "priority": {
                "type": "number"
              },
              "website": {
                "type": "string",
                "nullable": true
              },
              "facebook": {
                "type": "string",
                "nullable": true
              },
              "twitter": {
                "type": "string",
                "nullable": true
              },
              "instagram": {
                "type": "string",
                "nullable": true
              },
              "linkedIn": {
                "type": "string",
                "nullable": true
              },
              "tikTok": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sessions",
              "eventId",
              "event",
              "isHost",
              "priority",
              "website",
              "facebook",
              "twitter",
              "instagram",
              "linkedIn",
              "tikTok",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSpeakerTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "bio",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseLevel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string"
          },
          "scale": {
            "type": "number"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "subtitle",
          "description",
          "color",
          "scale",
          "imageId",
          "image"
        ]
      },
      "Level": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLevel"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "accounts": {
                    "type": "number"
                  }
                },
                "required": [
                  "accounts"
                ]
              }
            },
            "required": [
              "sortOrder",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "SponsorshipLevelTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "subtitle",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "RecordingAction": {
        "type": "string",
        "enum": [
          "stop",
          "pause",
          "resume"
        ]
      },
      "StorageConfig": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "aws",
              "azure",
              "digitalocean",
              "gcs",
              "sftp"
            ]
          },
          "access_key": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          },
          "bucket": {
            "type": "string"
          },
          "region": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "auth_method": {
            "type": "string",
            "enum": [
              "KEY",
              "PASSWORD"
            ]
          },
          "username": {
            "type": "string"
          },
          "password": {
            "type": "string"
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "number"
          },
          "private_key": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "MeetingType": {
        "type": "string",
        "enum": [
          "GROUP_CALL",
          "WEBINAR",
          "LIVESTREAM"
        ]
      },
      "BaseMeeting": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/MeetingType"
          }
        },
        "required": [
          "id",
          "title",
          "type"
        ]
      },
      "Meeting": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMeeting"
          },
          {
            "type": "object",
            "properties": {
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "session": {
                "$ref": "#/components/schemas/BaseEventSession"
              },
              "group": {
                "$ref": "#/components/schemas/BaseGroup"
              },
              "activity": {
                "$ref": "#/components/schemas/BaseActivity"
              },
              "bookingSpace": {
                "$ref": "#/components/schemas/BaseBookingSpace"
              },
              "updated_at": {
                "type": "string"
              },
              "created_at": {
                "type": "string"
              },
              "preferred_region": {
                "type": "string",
                "enum": [
                  "ap-south-1",
                  "ap-southeast-1",
                  "us-east-1",
                  "eu-central-1"
                ],
                "nullable": true
              },
              "status": {
                "type": "string",
                "enum": [
                  "ACTIVE",
                  "INACTIVE"
                ]
              },
              "record_on_start": {
                "type": "boolean"
              },
              "live_stream_on_start": {
                "type": "boolean"
              },
              "persist_chat": {
                "type": "boolean"
              },
              "summarize_on_end": {
                "type": "boolean"
              }
            },
            "required": [
              "updated_at",
              "created_at",
              "record_on_start",
              "live_stream_on_start",
              "persist_chat",
              "summarize_on_end"
            ]
          }
        ]
      },
      "MeetingParticipant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "custom_participant_id": {
            "type": "string"
          },
          "preset_name": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "custom_participant_id",
          "preset_name",
          "created_at",
          "updated_at",
          "account"
        ]
      },
      "BaseMeetingSessionParticipant": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "user_id": {
            "type": "string",
            "nullable": true
          },
          "custom_participant_id": {
            "type": "string"
          },
          "display_name": {
            "type": "string",
            "nullable": true
          },
          "session_id": {
            "type": "string"
          },
          "joined_at": {
            "type": "string"
          },
          "left_at": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "number",
            "nullable": true
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "role": {
            "type": "string"
          },
          "preset_name": {
            "type": "string"
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "user_id",
          "custom_participant_id",
          "display_name",
          "session_id",
          "joined_at",
          "left_at",
          "duration",
          "created_at",
          "updated_at",
          "role",
          "preset_name",
          "account"
        ]
      },
      "MeetingSessionParticipant": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMeetingSessionParticipant"
          }
        ]
      },
      "MeetingSessionStreamKey": {
        "type": "string",
        "enum": [
          "audio_out",
          "audio_in",
          "video_out",
          "video_in",
          "screenshare_audio_out",
          "screenshare_audio_in",
          "screenshare_video_out",
          "screenshare_video_in"
        ]
      },
      "MeetingSessionReportIssueCode": {
        "type": "string",
        "enum": [
          "low_mos",
          "high_packet_loss",
          "high_rtt",
          "audio_glitches",
          "bandwidth_limited",
          "cpu_limited",
          "no_video",
          "poor_resolution",
          "lag",
          "high_jitter_buffer",
          "relay_only",
          "turn_unreachable"
        ]
      },
      "MeetingSessionReportDistribution": {
        "type": "object",
        "properties": {
          "avg": {
            "type": "number",
            "nullable": true
          },
          "p50": {
            "type": "number",
            "nullable": true
          },
          "p75": {
            "type": "number",
            "nullable": true
          },
          "p90": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "avg",
          "p50",
          "p75",
          "p90"
        ]
      },
      "MeetingSessionReportPacketLoss": {
        "type": "object",
        "properties": {
          "avg": {
            "type": "number",
            "nullable": true
          },
          "ge_5": {
            "type": "number",
            "nullable": true
          },
          "ge_10": {
            "type": "number",
            "nullable": true
          },
          "ge_25": {
            "type": "number",
            "nullable": true
          },
          "ge_50": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "avg",
          "ge_5",
          "ge_10",
          "ge_25",
          "ge_50"
        ]
      },
      "MeetingSessionReportLatency": {
        "type": "object",
        "properties": {
          "avg": {
            "type": "number",
            "nullable": true
          },
          "ge_100": {
            "type": "number",
            "nullable": true
          },
          "ge_250": {
            "type": "number",
            "nullable": true
          },
          "ge_500": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "avg",
          "ge_100",
          "ge_250",
          "ge_500"
        ]
      },
      "MeetingSessionStreamVideoSummary": {
        "type": "object",
        "properties": {
          "fps": {
            "$ref": "#/components/schemas/MeetingSessionReportDistribution"
          },
          "width": {
            "$ref": "#/components/schemas/MeetingSessionReportDistribution"
          },
          "limitation": {
            "type": "object",
            "properties": {
              "cpu": {
                "type": "number"
              },
              "bandwidth": {
                "type": "number"
              },
              "other": {
                "type": "number"
              },
              "resolution_changes": {
                "type": "number"
              }
            },
            "required": [
              "cpu",
              "bandwidth",
              "other",
              "resolution_changes"
            ]
          },
          "issues": {
            "type": "object",
            "properties": {
              "bandwidth_fraction": {
                "type": "number",
                "nullable": true
              },
              "cpu_fraction": {
                "type": "number",
                "nullable": true
              },
              "no_video_fraction": {
                "type": "number",
                "nullable": true
              },
              "poor_resolution_fraction": {
                "type": "number",
                "nullable": true
              },
              "lag_fraction": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "bandwidth_fraction",
              "cpu_fraction",
              "no_video_fraction",
              "poor_resolution_fraction",
              "lag_fraction"
            ]
          }
        },
        "required": [
          "fps",
          "width",
          "issues"
        ]
      },
      "MeetingSessionStreamSummary": {
        "type": "object",
        "properties": {
          "sample_count": {
            "type": "number"
          },
          "mos": {
            "$ref": "#/components/schemas/MeetingSessionReportDistribution"
          },
          "packet_loss": {
            "$ref": "#/components/schemas/MeetingSessionReportPacketLoss"
          },
          "rtt": {
            "$ref": "#/components/schemas/MeetingSessionReportLatency"
          },
          "jitter_buffer": {
            "$ref": "#/components/schemas/MeetingSessionReportLatency"
          },
          "glitch_count": {
            "type": "number"
          },
          "video": {
            "$ref": "#/components/schemas/MeetingSessionStreamVideoSummary"
          }
        },
        "required": [
          "sample_count",
          "mos",
          "packet_loss"
        ]
      },
      "MeetingSessionReportIssue": {
        "type": "object",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/MeetingSessionReportIssueCode"
          },
          "severity": {
            "type": "string",
            "enum": [
              "warning",
              "critical"
            ]
          },
          "stream": {
            "$ref": "#/components/schemas/MeetingSessionStreamKey"
          },
          "value": {
            "type": "number"
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "severity",
          "value",
          "label"
        ]
      },
      "MeetingSessionReportPoint": {
        "type": "object",
        "properties": {
          "t": {
            "type": "string"
          },
          "mos": {
            "type": "number",
            "nullable": true
          },
          "packets_lost": {
            "type": "number",
            "nullable": true
          },
          "jitter_ms": {
            "type": "number",
            "nullable": true
          },
          "rtt_ms": {
            "type": "number",
            "nullable": true
          },
          "jitter_buffer_ms": {
            "type": "number",
            "nullable": true
          },
          "bitrate_kbps": {
            "type": "number",
            "nullable": true
          },
          "fps": {
            "type": "number",
            "nullable": true
          },
          "width": {
            "type": "number",
            "nullable": true
          },
          "height": {
            "type": "number",
            "nullable": true
          },
          "frames_dropped": {
            "type": "number",
            "nullable": true
          },
          "limitation": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "t",
          "mos",
          "packets_lost",
          "jitter_ms",
          "bitrate_kbps"
        ]
      },
      "MeetingSessionReportSeries": {
        "type": "object",
        "properties": {
          "step_seconds": {
            "type": "number"
          },
          "downsampled_from": {
            "type": "number"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSessionReportPoint"
            }
          }
        },
        "required": [
          "step_seconds",
          "downsampled_from",
          "points"
        ]
      },
      "MeetingSessionReportEvent": {
        "type": "object",
        "properties": {
          "t": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "join",
              "leave",
              "reconnect",
              "media",
              "network",
              "device",
              "other"
            ]
          },
          "name": {
            "type": "string"
          },
          "detail": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [
          "t",
          "kind",
          "name",
          "detail"
        ]
      },
      "MeetingSessionReportDevice": {
        "type": "object",
        "properties": {
          "t": {
            "type": "string"
          },
          "kind": {
            "type": "string",
            "enum": [
              "audioinput",
              "videoinput",
              "audiooutput",
              "unknown"
            ]
          },
          "action": {
            "type": "string",
            "enum": [
              "selected",
              "added",
              "removed"
            ]
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "device_id": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "t",
          "kind",
          "action",
          "label",
          "device_id"
        ]
      },
      "MeetingSessionReportStreams": {
        "type": "object",
        "properties": {
          "audio_out": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "audio_in": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "video_out": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "video_in": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "screenshare_audio_out": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "screenshare_audio_in": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "screenshare_video_out": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          },
          "screenshare_video_in": {
            "$ref": "#/components/schemas/MeetingSessionStreamSummary"
          }
        }
      },
      "MeetingSessionReportSeriesMap": {
        "type": "object",
        "properties": {
          "audio_out": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "audio_in": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "video_out": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "video_in": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "screenshare_audio_out": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "screenshare_audio_in": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "screenshare_video_out": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          },
          "screenshare_video_in": {
            "$ref": "#/components/schemas/MeetingSessionReportSeries"
          }
        }
      },
      "MeetingSessionReportConnection": {
        "type": "object",
        "properties": {
          "peer_id": {
            "type": "string"
          },
          "joined_at": {
            "type": "string",
            "nullable": true
          },
          "left_at": {
            "type": "string",
            "nullable": true
          },
          "reconnects": {
            "type": "number"
          }
        },
        "required": [
          "peer_id",
          "joined_at",
          "left_at",
          "reconnects"
        ]
      },
      "MeetingSessionReportSummary": {
        "type": "object",
        "properties": {
          "connections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSessionReportConnection"
            }
          },
          "platform": {
            "type": "object",
            "properties": {
              "sdk_name": {
                "type": "string",
                "nullable": true
              },
              "sdk_type": {
                "type": "string",
                "nullable": true
              },
              "sdk_version": {
                "type": "string",
                "nullable": true
              },
              "room_view_type": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "sdk_name",
              "sdk_type",
              "sdk_version",
              "room_view_type"
            ]
          },
          "device": {
            "type": "object",
            "properties": {
              "os": {
                "type": "string",
                "nullable": true
              },
              "os_version": {
                "type": "string",
                "nullable": true
              },
              "is_mobile": {
                "type": "boolean",
                "nullable": true
              },
              "cpus": {
                "type": "number",
                "nullable": true
              },
              "browser": {
                "type": "string",
                "nullable": true
              },
              "browser_version": {
                "type": "string",
                "nullable": true
              },
              "webgl_support": {
                "type": "boolean",
                "nullable": true
              }
            },
            "required": [
              "os",
              "os_version",
              "is_mobile",
              "cpus",
              "browser",
              "browser_version",
              "webgl_support"
            ]
          },
          "location": {
            "type": "object",
            "properties": {
              "city": {
                "type": "string",
                "nullable": true
              },
              "region": {
                "type": "string",
                "nullable": true
              },
              "country": {
                "type": "string",
                "nullable": true
              },
              "org": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "city",
              "region",
              "country",
              "org"
            ]
          },
          "connectivity": {
            "type": "object",
            "properties": {
              "effective_network_type": {
                "type": "string",
                "nullable": true
              },
              "reflexive": {
                "type": "boolean",
                "nullable": true
              },
              "relay": {
                "type": "boolean",
                "nullable": true
              },
              "turn": {
                "type": "boolean",
                "nullable": true
              },
              "relay_only": {
                "type": "boolean"
              },
              "transports": {
                "type": "object",
                "properties": {
                  "producing": {
                    "type": "string",
                    "enum": [
                      "host",
                      "srflx",
                      "relay"
                    ],
                    "nullable": true
                  },
                  "consuming": {
                    "type": "string",
                    "enum": [
                      "host",
                      "srflx",
                      "relay"
                    ],
                    "nullable": true
                  }
                },
                "required": [
                  "producing",
                  "consuming"
                ]
              }
            },
            "required": [
              "effective_network_type",
              "reflexive",
              "relay",
              "turn",
              "relay_only",
              "transports"
            ]
          },
          "streams": {
            "$ref": "#/components/schemas/MeetingSessionReportStreams"
          },
          "issues": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSessionReportIssue"
            }
          }
        },
        "required": [
          "connections",
          "platform",
          "device",
          "location",
          "connectivity",
          "streams",
          "issues"
        ]
      },
      "MeetingSessionParticipantReport": {
        "type": "object",
        "properties": {
          "participant": {
            "$ref": "#/components/schemas/BaseMeetingSessionParticipant"
          },
          "summary": {
            "$ref": "#/components/schemas/MeetingSessionReportSummary"
          },
          "series": {
            "$ref": "#/components/schemas/MeetingSessionReportSeriesMap"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSessionReportEvent"
            }
          },
          "devices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSessionReportDevice"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "fetched_at": {
                "type": "string"
              },
              "truncated": {
                "type": "boolean"
              },
              "peer_id": {
                "type": "string"
              },
              "has_data": {
                "type": "boolean"
              }
            },
            "required": [
              "fetched_at",
              "truncated",
              "peer_id",
              "has_data"
            ]
          }
        },
        "required": [
          "participant",
          "summary",
          "series",
          "events",
          "devices",
          "meta"
        ]
      },
      "MeetingSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "associated_id": {
            "type": "string"
          },
          "meeting_display_name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "meeting",
              "livestream",
              "participant"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "LIVE",
              "ENDED"
            ]
          },
          "live_participants": {
            "type": "number"
          },
          "max_concurrent_participants": {
            "type": "number"
          },
          "minutes_consumed": {
            "type": "number"
          },
          "organization_id": {
            "type": "string"
          },
          "started_at": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "ended_at": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          },
          "breakout_rooms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MeetingSession"
            }
          }
        },
        "required": [
          "id",
          "associated_id",
          "meeting_display_name",
          "type",
          "status",
          "live_participants",
          "max_concurrent_participants",
          "minutes_consumed",
          "organization_id",
          "started_at",
          "created_at",
          "updated_at",
          "breakout_rooms"
        ]
      },
      "MeetingSessionChatDownload": {
        "type": "object",
        "properties": {
          "chat_download_url": {
            "type": "string"
          },
          "chat_download_url_expiry": {
            "type": "string"
          }
        }
      },
      "MeetingSessionTranscriptDownload": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "transcript_download_url": {
            "type": "string"
          },
          "transcript_download_url_expiry": {
            "type": "string"
          }
        },
        "required": [
          "sessionId"
        ]
      },
      "MeetingSessionSummaryDownload": {
        "type": "object",
        "properties": {
          "sessionId": {
            "type": "string"
          },
          "summary_download_url": {
            "type": "string"
          },
          "summary_download_url_expiry": {
            "type": "string"
          }
        },
        "required": [
          "sessionId"
        ]
      },
      "Livestream": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "LIVE",
              "IDLE",
              "ERRORED",
              "INVOKED"
            ]
          },
          "ingest_server": {
            "type": "string"
          },
          "stream_key": {
            "type": "string"
          },
          "playback_url": {
            "type": "string"
          },
          "meeting_id": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "ingest_server",
          "stream_key",
          "playback_url",
          "meeting_id",
          "created_at",
          "updated_at",
          "disabled"
        ]
      },
      "LivestreamSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "livestream_id": {
            "type": "string"
          },
          "err_message": {
            "type": "string"
          },
          "invoked_time": {
            "type": "string"
          },
          "started_time": {
            "type": "string"
          },
          "stopped_time": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          },
          "ingest_seconds": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "livestream_id",
          "err_message",
          "invoked_time",
          "started_time",
          "stopped_time",
          "created_at",
          "updated_at",
          "ingest_seconds"
        ]
      },
      "BaseMeetingRecording": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "meeting_id": {
            "type": "string"
          },
          "download_url": {
            "type": "string",
            "nullable": true
          },
          "download_url_expiry": {
            "type": "string",
            "nullable": true
          },
          "file_size": {
            "type": "number",
            "nullable": true
          },
          "session_id": {
            "type": "string",
            "nullable": true
          },
          "output_file_name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "invoked_time": {
            "type": "string"
          },
          "started_time": {
            "type": "string",
            "nullable": true
          },
          "stopped_time": {
            "type": "string",
            "nullable": true
          },
          "recording_duration": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "meeting_id",
          "download_url",
          "download_url_expiry",
          "file_size",
          "session_id",
          "output_file_name",
          "status",
          "invoked_time",
          "started_time",
          "stopped_time",
          "recording_duration"
        ]
      },
      "MeetingRecording": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMeetingRecording"
          }
        ]
      },
      "BasePreset": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "created_at": {
            "type": "string"
          },
          "updated_at": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "created_at",
          "updated_at"
        ]
      },
      "Preset": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePreset"
          }
        ]
      },
      "BaseMeetingLink": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "passcode": {
            "type": "string"
          },
          "preset_name": {
            "type": "string"
          },
          "requireAuth": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "passcode",
          "preset_name",
          "requireAuth"
        ]
      },
      "MeetingLink": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMeetingLink"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSupportTicket": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/SupportTicketType"
          },
          "email": {
            "type": "string"
          },
          "request": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/SupportTicketState"
          },
          "message": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSupportTicketMessage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "type",
          "email",
          "request",
          "state",
          "message"
        ]
      },
      "SupportTicket": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSupportTicket"
          },
          {
            "type": "object",
            "properties": {
              "accountId": {
                "type": "string",
                "nullable": true
              },
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "orgMembershipId": {
                "type": "string",
                "nullable": true
              },
              "orgMembership": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/OrganizationMembership"
                  }
                ],
                "nullable": true
              },
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "activityLogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSupportTicketActivityLog"
                },
                "nullable": true
              },
              "viewer": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SupportTicketViewer"
                  }
                ],
                "nullable": true
              },
              "lastAccountReadAt": {
                "type": "string",
                "nullable": true
              },
              "lastMessageAt": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "accountId",
              "account",
              "orgMembershipId",
              "orgMembership",
              "eventId",
              "event",
              "activityLogs",
              "viewer",
              "lastAccountReadAt",
              "lastMessageAt",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSupportTicketNote": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "text": {
            "type": "string"
          },
          "orgMembershipId": {
            "type": "string"
          },
          "orgMembership": {
            "$ref": "#/components/schemas/OrganizationMembership"
          }
        },
        "required": [
          "id",
          "text",
          "orgMembershipId",
          "orgMembership"
        ]
      },
      "SupportTicketNote": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSupportTicketNote"
          },
          {
            "type": "object",
            "properties": {
              "supportTicketId": {
                "type": "string"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "supportTicketId",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSupportTicketMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "supportTicketId": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "orgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "orgMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "supportTicketId",
          "source",
          "message",
          "accountId",
          "account",
          "orgMembershipId",
          "orgMembership"
        ]
      },
      "SupportTicketMessage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSupportTicketMessage"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSupportTicketActivityLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "supportTicketId": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "orgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "orgMembership": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          },
          "previousState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportTicketState"
              }
            ],
            "nullable": true
          },
          "newState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportTicketState"
              }
            ],
            "nullable": true
          },
          "previousType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportTicketType"
              }
            ],
            "nullable": true
          },
          "newType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SupportTicketType"
              }
            ],
            "nullable": true
          },
          "previousAssignedId": {
            "type": "string",
            "nullable": true
          },
          "previousAssigned": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          },
          "newAssignedId": {
            "type": "string",
            "nullable": true
          },
          "newAssigned": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OrganizationMembership"
              }
            ],
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "supportTicketId",
          "type",
          "source",
          "accountId",
          "orgMembershipId",
          "orgMembership",
          "previousState",
          "newState",
          "previousType",
          "newType",
          "previousAssignedId",
          "previousAssigned",
          "newAssignedId",
          "newAssigned",
          "eventId",
          "createdAt"
        ]
      },
      "SupportTicketActivityLog": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSupportTicketActivityLog"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseAccount"
                  }
                ],
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "account",
              "event"
            ]
          }
        ]
      },
      "BaseSupportTicketViewer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "supportTicketId": {
            "type": "string"
          },
          "orgMembershipId": {
            "type": "string"
          },
          "orgMembership": {
            "$ref": "#/components/schemas/OrganizationMembership"
          },
          "lastReadAt": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "supportTicketId",
          "orgMembershipId",
          "orgMembership",
          "lastReadAt",
          "createdAt",
          "updatedAt"
        ]
      },
      "SupportTicketViewer": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSupportTicketViewer"
          }
        ]
      },
      "BaseTeamMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "priority": {
            "type": "number"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "nickName": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "slug",
          "priority",
          "firstName",
          "lastName",
          "nickName",
          "title",
          "startDate",
          "imageId",
          "image"
        ]
      },
      "TeamMember": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTeamMember"
          },
          {
            "type": "object",
            "properties": {
              "email": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "bio": {
                "type": "string",
                "nullable": true
              },
              "linkedIn": {
                "type": "string",
                "nullable": true
              },
              "facebook": {
                "type": "string",
                "nullable": true
              },
              "instagram": {
                "type": "string",
                "nullable": true
              },
              "twitter": {
                "type": "string",
                "nullable": true
              },
              "tikTok": {
                "type": "string",
                "nullable": true
              },
              "discord": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "email",
              "phone",
              "bio",
              "linkedIn",
              "facebook",
              "instagram",
              "twitter",
              "tikTok",
              "discord",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventPassType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "cancelable": {
            "type": "boolean"
          },
          "transferable": {
            "type": "boolean"
          },
          "featured": {
            "type": "boolean"
          },
          "visibility": {
            "$ref": "#/components/schemas/PassTypeVisibility"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "accessLevel": {
            "$ref": "#/components/schemas/PassTypeAccessLevel"
          },
          "featuredImageId": {
            "type": "string",
            "nullable": true
          },
          "featuredImage": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "minQuantityPerSale": {
            "type": "number"
          },
          "maxQuantityPerSale": {
            "type": "number"
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "enableCoupons": {
            "type": "boolean"
          },
          "minCouponQuantity": {
            "type": "number"
          },
          "maxCouponQuantity": {
            "type": "number",
            "nullable": true
          },
          "requireCoupon": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "requiredPassTypeId": {
            "type": "string",
            "nullable": true
          },
          "requiresApproval": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "slug",
          "active",
          "cancelable",
          "transferable",
          "featured",
          "visibility",
          "name",
          "shortDescription",
          "longDescription",
          "price",
          "accessLevel",
          "featuredImageId",
          "featuredImage",
          "supply",
          "minQuantityPerSale",
          "maxQuantityPerSale",
          "emailDomains",
          "enableCoupons",
          "minCouponQuantity",
          "maxCouponQuantity",
          "requireCoupon",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "createdAt",
          "updatedAt",
          "requiredPassTypeId",
          "requiresApproval"
        ]
      },
      "EventPassType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          {
            "type": "object",
            "properties": {
              "overrideStartDate": {
                "type": "string",
                "nullable": true
              },
              "sortOrder": {
                "type": "number"
              },
              "event": {
                "$ref": "#/components/schemas/BaseEvent"
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "groupPassDescription": {
                "type": "string",
                "nullable": true
              },
              "requiredPassType": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "printable": {
                "type": "boolean"
              },
              "badgeColor": {
                "type": "string"
              },
              "labelId": {
                "type": "string",
                "nullable": true
              },
              "_count": {
                "type": "object",
                "properties": {
                  "purchases": {
                    "type": "number"
                  }
                },
                "required": [
                  "purchases"
                ]
              }
            },
            "required": [
              "overrideStartDate",
              "sortOrder",
              "event",
              "allowedTiers",
              "disallowedTiers",
              "groupPassDescription",
              "requiredPassType",
              "printable",
              "badgeColor",
              "labelId",
              "_count"
            ]
          }
        ]
      },
      "BaseEventPassTypePriceSchedule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "ticketId": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "ticketId",
          "price",
          "name",
          "startDate",
          "endDate",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventPassTypePriceSchedule": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPassTypePriceSchedule"
          }
        ]
      },
      "BaseEventPassTypeRefundSchedule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passTypeId": {
            "type": "string"
          },
          "percentage": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "passTypeId",
          "percentage",
          "startDate",
          "endDate",
          "createdAt",
          "updatedAt"
        ]
      },
      "EventPassTypeRefundSchedule": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPassTypeRefundSchedule"
          }
        ]
      },
      "BaseEventPassTypeExchangeTarget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "sourcePassTypeId": {
            "type": "string"
          },
          "sourcePassType": {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          "targetPassTypeId": {
            "type": "string"
          },
          "targetPassType": {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          "fixedPricing": {
            "type": "boolean"
          },
          "ignoreRefundSchedules": {
            "type": "boolean"
          },
          "amount": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "enabled",
          "sourcePassTypeId",
          "sourcePassType",
          "targetPassTypeId",
          "targetPassType",
          "fixedPricing",
          "ignoreRefundSchedules",
          "amount",
          "startDate",
          "endDate"
        ]
      },
      "EventPassTypeExchangeTarget": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPassTypeExchangeTarget"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "ExchangeType": {
        "type": "string",
        "enum": [
          "upgrade",
          "downgrade",
          "swap"
        ]
      },
      "BasePassExchange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "passId": {
            "type": "string"
          },
          "exchangeType": {
            "$ref": "#/components/schemas/ExchangeType"
          },
          "exchangeTargetId": {
            "type": "string"
          },
          "exchangeTarget": {
            "$ref": "#/components/schemas/EventPassTypeExchangeTarget"
          },
          "lineItem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentLineItem"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "accountId",
          "passId",
          "exchangeType",
          "exchangeTargetId",
          "exchangeTarget",
          "lineItem"
        ]
      },
      "PassExchange": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BasePassExchange"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              },
              "pass": {
                "$ref": "#/components/schemas/BaseEventPass"
              },
              "createdAt": {
                "type": "string"
              }
            },
            "required": [
              "account",
              "pass",
              "createdAt"
            ]
          }
        ]
      },
      "EventPassTypeTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "shortDescription",
          "longDescription",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventTrack": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "color"
        ]
      },
      "EventTrack": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventTrack"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "sessions": {
                    "type": "number"
                  }
                },
                "required": [
                  "sessions"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "EventTrackTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseTransferLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "fromRegistrationId": {
            "type": "string"
          },
          "fromRegistration": {
            "$ref": "#/components/schemas/BaseEventRegistration"
          },
          "toRegistrationId": {
            "type": "string"
          },
          "toRegistration": {
            "$ref": "#/components/schemas/BaseEventRegistration"
          }
        },
        "required": [
          "id",
          "fromRegistrationId",
          "fromRegistration",
          "toRegistrationId",
          "toRegistration"
        ]
      },
      "TransferLog": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseTransferLog"
          },
          {
            "type": "object",
            "properties": {
              "purchaseId": {
                "type": "string"
              },
              "purchase": {
                "$ref": "#/components/schemas/BaseEventPass"
              },
              "userId": {
                "type": "string",
                "nullable": true
              },
              "user": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseUser"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              }
            },
            "required": [
              "purchaseId",
              "purchase",
              "userId",
              "user",
              "createdAt"
            ]
          }
        ]
      },
      "Transfer": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passId": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "event": {
            "$ref": "#/components/schemas/BaseEvent"
          },
          "fromAccountId": {
            "type": "string"
          },
          "fromAccount": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          },
          "pass": {
            "$ref": "#/components/schemas/BaseEventPass"
          }
        },
        "required": [
          "id",
          "passId",
          "email",
          "message",
          "createdAt",
          "eventId",
          "event",
          "fromAccountId",
          "fromAccount",
          "pass"
        ]
      },
      "BaseUser": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string"
          },
          "termsAccepted": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "email",
          "firstName",
          "lastName",
          "title",
          "imageUrl",
          "termsAccepted"
        ]
      },
      "User": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseUser"
          },
          {
            "type": "object",
            "properties": {
              "phone": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "phone",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "UserApiKeyScope": {
        "type": "string",
        "enum": [
          "read",
          "full"
        ]
      },
      "UserApiKey": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "publicPart": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/UserApiKeyScope"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          },
          "lastUsedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "publicPart",
          "key",
          "name",
          "scope",
          "startDate",
          "endDate",
          "createdAt",
          "updatedAt"
        ]
      },
      "VideoSource": {
        "type": "string",
        "enum": [
          "admin",
          "activity",
          "content",
          "thread"
        ]
      },
      "BaseVideo": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/VideoSource"
          },
          "width": {
            "type": "number"
          },
          "height": {
            "type": "number"
          },
          "thumbnailUrl": {
            "type": "string",
            "nullable": true
          },
          "previewUrl": {
            "type": "string",
            "nullable": true
          },
          "readyToStream": {
            "type": "boolean"
          },
          "duration": {
            "type": "number",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "source",
          "width",
          "height",
          "thumbnailUrl",
          "previewUrl",
          "readyToStream",
          "duration",
          "createdAt"
        ]
      },
      "Video": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseVideo"
          },
          {
            "type": "object",
            "properties": {
              "downloadUrl": {
                "type": "string",
                "nullable": true
              },
              "hlsUrl": {
                "type": "string",
                "nullable": true
              },
              "dashUrl": {
                "type": "string",
                "nullable": true
              },
              "thumbnailPct": {
                "type": "number",
                "nullable": true
              }
            },
            "required": [
              "downloadUrl",
              "hlsUrl",
              "dashUrl",
              "thumbnailPct"
            ]
          }
        ]
      },
      "BaseChannelContentGuest": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "contentId": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ContentGuestType"
          },
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyLink": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "slug",
          "contentId",
          "accountId",
          "account",
          "type",
          "name",
          "title",
          "bio",
          "company",
          "companyLink",
          "companyBio",
          "imageId",
          "image",
          "website",
          "facebook",
          "twitter",
          "instagram",
          "linkedIn",
          "tikTok",
          "youtube",
          "discord",
          "createdAt",
          "updatedAt"
        ]
      },
      "ChannelContentGuest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseChannelContentGuest"
          }
        ]
      },
      "ChannelContentGuestTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "title",
          "bio",
          "companyBio",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "name": {
            "type": "string"
          },
          "r2Path": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/FileSource"
          },
          "kilobytes": {
            "type": "number"
          },
          "url": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "r2Path",
          "source",
          "kilobytes",
          "public",
          "createdAt",
          "updatedAt"
        ]
      },
      "File": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseFile"
          }
        ]
      },
      "ThreadType": {
        "type": "string",
        "enum": [
          "direct",
          "default"
        ]
      },
      "BaseThread": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/ThreadType"
          },
          "subject": {
            "type": "string"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "lastMessageAt": {
            "type": "string",
            "nullable": true
          },
          "lastMessage": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "subject",
          "imageId",
          "image",
          "lastMessageAt",
          "lastMessage",
          "createdAt"
        ]
      },
      "ThreadAccount": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "threadId": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "lastReadAt": {
            "type": "string",
            "nullable": true
          },
          "typingAt": {
            "type": "string",
            "nullable": true
          },
          "notifications": {
            "type": "boolean"
          },
          "blocked": {
            "type": "boolean"
          },
          "leftAt": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "threadId",
          "accountId",
          "account",
          "lastReadAt",
          "typingAt",
          "notifications",
          "blocked",
          "leftAt",
          "createdAt",
          "updatedAt"
        ]
      },
      "Thread": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseThread"
          },
          {
            "type": "object",
            "properties": {
              "accounts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ThreadAccount"
                }
              },
              "_count": {
                "type": "object",
                "properties": {
                  "messages": {
                    "type": "number"
                  }
                }
              }
            },
            "required": [
              "accounts"
            ]
          }
        ]
      },
      "ThreadMessageType": {
        "type": "string",
        "enum": [
          "user",
          "bot",
          "system"
        ]
      },
      "BaseThreadMessageReaction": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "messageId": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "emojiName": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "messageId",
          "accountId",
          "emojiName"
        ]
      },
      "ThreadMessageReaction": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseThreadMessageReaction"
          },
          {
            "type": "object",
            "properties": {
              "organizationId": {
                "type": "string"
              },
              "threadId": {
                "type": "string"
              },
              "message": {
                "$ref": "#/components/schemas/BaseThreadMessage"
              },
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "organizationId",
              "threadId",
              "message",
              "account",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "ThreadMessageRead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "threadId": {
            "type": "string"
          },
          "messageId": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "readAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "threadId",
          "messageId",
          "accountId",
          "readAt"
        ]
      },
      "BaseThreadMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "threadAccount": {
            "$ref": "#/components/schemas/ThreadAccount"
          },
          "createdAt": {
            "type": "string"
          },
          "editedAt": {
            "type": "string",
            "nullable": true
          },
          "sentAt": {
            "type": "string"
          },
          "deletedAt": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "body",
          "threadAccount",
          "createdAt",
          "editedAt",
          "sentAt"
        ]
      },
      "ThreadMessage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseThreadMessage"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "$ref": "#/components/schemas/ThreadMessageType"
              },
              "reactions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ThreadMessageReaction"
                }
              },
              "entities": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ThreadMessageEntity"
                }
              },
              "replyToId": {
                "type": "string",
                "nullable": true
              },
              "replyTo": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseThreadMessage"
                  }
                ],
                "nullable": true
              },
              "files": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseFile"
                }
              },
              "images": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseImage"
                }
              },
              "videos": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseVideo"
                }
              },
              "reads": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ThreadMessageRead"
                }
              },
              "deletedAt": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "type",
              "reactions",
              "entities",
              "replyToId",
              "replyTo",
              "files",
              "images",
              "videos"
            ]
          }
        ]
      },
      "BaseThreadMessageEntity": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "startIndex": {
            "type": "number"
          },
          "endIndex": {
            "type": "number"
          },
          "marks": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "accountId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "href": {
            "type": "string"
          },
          "linkPreview": {
            "$ref": "#/components/schemas/BaseLinkPreview"
          }
        },
        "required": [
          "type",
          "startIndex",
          "endIndex",
          "marks"
        ]
      },
      "ThreadMessageEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseThreadMessageEntity"
          }
        ]
      },
      "PaypalActivationFormParams": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "clientSecret",
          "currencyCode",
          "name"
        ]
      },
      "BraintreeActivationFormParams": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string"
          },
          "clientPublicKey": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "clientPublicKey",
          "clientSecret",
          "currencyCode",
          "name"
        ]
      },
      "AuthorizeNetActivationFormParams": {
        "type": "object",
        "properties": {
          "clientId": {
            "type": "string"
          },
          "clientPublicKey": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "clientPublicKey",
          "clientSecret",
          "currencyCode",
          "name"
        ]
      },
      "StripeActivationFormParams": {
        "type": "object",
        "properties": {
          "clientPublicKey": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "clientPublicKey",
          "clientSecret",
          "currencyCode",
          "name"
        ]
      },
      "BaseSchedule": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "date": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "date",
          "createdAt",
          "updatedAt"
        ]
      },
      "Schedule": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSchedule"
          }
        ]
      },
      "BaseLogin": {
        "type": "object",
        "properties": {
          "sub": {
            "type": "string"
          },
          "userPoolId": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "provider": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "lastLoginAt": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "sub",
          "userPoolId",
          "username",
          "provider",
          "email",
          "status",
          "enabled",
          "verified",
          "firstName",
          "lastName",
          "internalRefId",
          "lastLoginAt"
        ]
      },
      "Login": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLogin"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "accounts": {
                    "type": "number"
                  },
                  "devices": {
                    "type": "number"
                  }
                },
                "required": [
                  "accounts",
                  "devices"
                ]
              }
            },
            "required": [
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "DomainDetails": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "BaseEventRoomType": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "passTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventRoomTypePassTypeDetails"
            }
          },
          "addOns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseEventRoomTypeAddOnDetails"
            }
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        },
        "required": [
          "id",
          "name",
          "price",
          "pricePerNight",
          "image",
          "passTypes",
          "addOns",
          "taxCode",
          "taxIncluded",
          "taxLocation"
        ]
      },
      "EventRoomType": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventRoomType"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "supply": {
                "type": "number",
                "nullable": true
              },
              "minPasses": {
                "type": "number",
                "nullable": true
              },
              "maxPasses": {
                "type": "number",
                "nullable": true
              },
              "minStart": {
                "type": "string",
                "nullable": true
              },
              "defaultStart": {
                "type": "string",
                "nullable": true
              },
              "maxStart": {
                "type": "string",
                "nullable": true
              },
              "minEnd": {
                "type": "string",
                "nullable": true
              },
              "defaultEnd": {
                "type": "string",
                "nullable": true
              },
              "maxEnd": {
                "type": "string",
                "nullable": true
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "disallowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "rooms": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Room"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "reservations": {
                    "type": "number"
                  }
                },
                "required": [
                  "reservations"
                ]
              }
            },
            "required": [
              "sortOrder",
              "description",
              "supply",
              "minPasses",
              "maxPasses",
              "minStart",
              "defaultStart",
              "maxStart",
              "minEnd",
              "defaultEnd",
              "maxEnd",
              "allowedTiers",
              "disallowedTiers",
              "rooms",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "EventRoomTypeTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseRoom": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "roomName": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "roomName",
          "createdAt",
          "updatedAt"
        ]
      },
      "Room": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRoom"
          },
          {
            "type": "object",
            "properties": {
              "roomTypes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventRoomType"
                }
              },
              "reservation": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventRoomTypeReservation"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "roomTypes",
              "reservation"
            ]
          }
        ]
      },
      "BaseEventRoomTypeReservation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "eventRoomTypeId": {
            "type": "string"
          },
          "eventRoomType": {
            "$ref": "#/components/schemas/BaseEventRoomType"
          },
          "roomId": {
            "type": "string"
          },
          "passes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "attendeeId": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "attendeeId"
              ]
            }
          },
          "room": {
            "$ref": "#/components/schemas/BaseRoom"
          }
        },
        "required": [
          "id",
          "start",
          "end",
          "eventRoomTypeId",
          "eventRoomType",
          "roomId",
          "passes",
          "room"
        ]
      },
      "EventRoomTypeReservation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "eventRoomTypeId": {
            "type": "string"
          },
          "eventRoomType": {
            "$ref": "#/components/schemas/BaseEventRoomType"
          },
          "roomId": {
            "type": "string"
          },
          "room": {
            "$ref": "#/components/schemas/BaseRoom"
          },
          "passes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                },
                "status": {
                  "$ref": "#/components/schemas/PurchaseStatus"
                },
                "ticket": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "name"
                  ]
                },
                "attendee": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "alternateId": {
                      "type": "number"
                    },
                    "account": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        },
                        "firstName": {
                          "type": "string",
                          "nullable": true
                        },
                        "lastName": {
                          "type": "string",
                          "nullable": true
                        },
                        "email": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "id",
                        "firstName",
                        "lastName",
                        "email"
                      ],
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "alternateId",
                    "account"
                  ]
                }
              },
              "required": [
                "id",
                "status",
                "attendee"
              ]
            }
          },
          "lineItem": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PaymentLineItem"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "start",
          "end",
          "eventRoomTypeId",
          "eventRoomType",
          "roomId",
          "room",
          "passes",
          "lineItem",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventRoomTypePassTypeDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "premium": {
            "type": "number"
          },
          "includedNights": {
            "type": "number"
          },
          "minPasses": {
            "type": "number",
            "nullable": true
          },
          "maxPasses": {
            "type": "number",
            "nullable": true
          },
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "passTypeId",
          "enabled",
          "premium",
          "includedNights",
          "minPasses",
          "maxPasses",
          "minStart",
          "defaultStart",
          "maxStart",
          "minEnd",
          "defaultEnd",
          "maxEnd"
        ]
      },
      "EventRoomTypePassTypeDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventRoomTypePassTypeDetails"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventRoomTypeAddOnDetails": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "addOnId": {
            "type": "string"
          },
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "addOnId",
          "minStart",
          "defaultStart",
          "maxStart",
          "minEnd",
          "defaultEnd",
          "maxEnd"
        ]
      },
      "EventRoomTypeAddOnDetails": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventRoomTypeAddOnDetails"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "LeadStatus": {
        "type": "string",
        "enum": [
          "new",
          "favorited",
          "archived",
          "deleted"
        ]
      },
      "BaseLead": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "shareAccount": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "image": {
                "$ref": "#/components/schemas/BaseImage"
              }
            },
            "required": [
              "id",
              "image"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/LeadStatus"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "firstName",
          "lastName",
          "shareAccount",
          "status",
          "createdAt"
        ]
      },
      "Lead": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseLead"
          },
          {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "email": {
                "type": "string",
                "nullable": true
              },
              "phone": {
                "type": "string",
                "nullable": true
              },
              "website": {
                "type": "string",
                "nullable": true
              },
              "facebook": {
                "type": "string",
                "nullable": true
              },
              "instagram": {
                "type": "string",
                "nullable": true
              },
              "linkedIn": {
                "type": "string",
                "nullable": true
              },
              "twitter": {
                "type": "string",
                "nullable": true
              },
              "tikTok": {
                "type": "string",
                "nullable": true
              },
              "note": {
                "type": "string",
                "nullable": true
              },
              "attributes": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "value": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ]
                }
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "eventId",
              "event",
              "email",
              "phone",
              "website",
              "facebook",
              "instagram",
              "linkedIn",
              "twitter",
              "tikTok",
              "note",
              "attributes",
              "updatedAt"
            ]
          }
        ]
      },
      "DayOfWeek": {
        "type": "string",
        "enum": [
          "sunday",
          "monday",
          "tuesday",
          "wednesday",
          "thursday",
          "friday",
          "saturday"
        ]
      },
      "BaseBookingPlace": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "visible": {
            "type": "boolean"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentIntegration"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "timezone",
          "description",
          "image",
          "sortOrder",
          "visible",
          "paymentIntegrationId",
          "paymentIntegration"
        ]
      },
      "BookingPlace": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingPlace"
          },
          {
            "type": "object",
            "properties": {
              "address1": {
                "type": "string",
                "nullable": true
              },
              "address2": {
                "type": "string",
                "nullable": true
              },
              "city": {
                "type": "string",
                "nullable": true
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "zip": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "address1",
              "address2",
              "city",
              "state",
              "zip",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseBookingSpace": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "supply": {
            "type": "number"
          },
          "bookingLimitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "slotDuration": {
            "type": "number"
          },
          "price": {
            "type": "number"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "visible": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "timezone": {
            "type": "string"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegration": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BasePaymentIntegration"
              }
            ],
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "entity": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseOrganizationEntity"
              }
            ],
            "nullable": true
          },
          "placeId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "place": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseBookingPlace"
              }
            ],
            "nullable": true
          },
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEvent"
              }
            ],
            "nullable": true
          },
          "group": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseGroup"
              }
            ],
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "slug",
          "supply",
          "bookingLimitPerAccount",
          "slotDuration",
          "price",
          "description",
          "image",
          "start",
          "end",
          "sortOrder",
          "visible",
          "taxCode",
          "taxIncluded",
          "taxLocation",
          "timezone",
          "paymentIntegrationId",
          "paymentIntegration",
          "entityId",
          "entity",
          "placeId",
          "eventId",
          "groupId",
          "accountId",
          "place",
          "event",
          "group",
          "account"
        ]
      },
      "BookingSpace": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingSpace"
          },
          {
            "type": "object",
            "properties": {
              "confirmationBody": {
                "type": "string",
                "nullable": true
              },
              "confirmationReplyTo": {
                "type": "string",
                "nullable": true
              },
              "cancellationBody": {
                "type": "string",
                "nullable": true
              },
              "cancellationReplyTo": {
                "type": "string",
                "nullable": true
              },
              "reminderBody": {
                "type": "string",
                "nullable": true
              },
              "reminderReplyTo": {
                "type": "string",
                "nullable": true
              },
              "reminderEnabled": {
                "type": "boolean"
              },
              "meetingId": {
                "type": "string",
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "joinBeforeTime": {
                "type": "number",
                "nullable": true
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "confirmationBody",
              "confirmationReplyTo",
              "cancellationBody",
              "cancellationReplyTo",
              "reminderBody",
              "reminderReplyTo",
              "reminderEnabled",
              "meetingId",
              "meeting",
              "joinBeforeTime",
              "allowedTiers",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BookingPlaceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BookingSpaceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "confirmationBody": {
            "type": "string",
            "nullable": true
          },
          "cancellationBody": {
            "type": "string",
            "nullable": true
          },
          "reminderBody": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "confirmationBody",
          "cancellationBody",
          "reminderBody",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseBookingSpaceAvailability": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "dayOfWeek": {
            "$ref": "#/components/schemas/DayOfWeek"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "dayOfWeek",
          "startTime",
          "endTime"
        ]
      },
      "BookingSpaceAvailability": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingSpaceAvailability"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseBookingSpaceBlackout": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "start",
          "end"
        ]
      },
      "BookingSpaceBlackout": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingSpaceBlackout"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BookingSpaceQuestionType": {
        "type": "string",
        "enum": [
          "text",
          "textarea",
          "number",
          "time",
          "date",
          "toggle",
          "select",
          "radio",
          "checkbox",
          "search",
          "file",
          "location"
        ]
      },
      "BaseBookingSpaceQuestionChoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "value",
          "text",
          "description",
          "supply",
          "sortOrder"
        ]
      },
      "BookingSpaceQuestionChoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingSpaceQuestionChoice"
          },
          {
            "type": "object",
            "properties": {
              "questionId": {
                "type": "string"
              },
              "question": {
                "$ref": "#/components/schemas/BaseBookingSpaceQuestion"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questionId",
              "question",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BookingSpaceQuestionChoiceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "value",
          "text",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseBookingSpaceQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BookingSpaceQuestionType"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "searchList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSearchList"
              }
            ],
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseBookingSpaceQuestionChoice"
            }
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "required",
          "description",
          "label",
          "placeholder",
          "default",
          "searchListId",
          "searchList",
          "mutable",
          "min",
          "max",
          "masked",
          "validation",
          "validationMessage",
          "locationOption",
          "sortOrder",
          "featured",
          "choices"
        ]
      },
      "BookingSpaceQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingSpaceQuestion"
          },
          {
            "type": "object",
            "properties": {
              "dashboardVisibility": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "translations": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BookingSpaceQuestionTranslation"
                }
              }
            },
            "required": [
              "dashboardVisibility",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BookingSpaceQuestionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "label",
          "placeholder",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseBookingQuestionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseBookingSpaceQuestion"
          }
        },
        "required": [
          "id",
          "value",
          "questionId",
          "question"
        ]
      },
      "BookingQuestionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingQuestionResponse"
          },
          {
            "type": "object",
            "properties": {
              "fileId": {
                "type": "number",
                "nullable": true
              },
              "file": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseFile"
                  }
                ],
                "nullable": true
              },
              "changeLogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseBookingQuestionResponseChange"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "fileId",
              "file",
              "changeLogs",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseBookingQuestionResponseChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "newValue",
          "oldValue",
          "questionId",
          "responseId",
          "userId",
          "createdAt"
        ]
      },
      "BookingQuestionResponseChange": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBookingQuestionResponseChange"
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "$ref": "#/components/schemas/BaseBookingQuestionResponse"
              },
              "user": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseUser"
                  }
                ],
                "nullable": true
              }
            },
            "required": [
              "response",
              "user"
            ]
          }
        ]
      },
      "BaseBooking": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "alternateId": {
            "type": "string"
          },
          "day": {
            "type": "string"
          },
          "time": {
            "type": "string"
          },
          "duration": {
            "type": "number"
          },
          "checkedIn": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "space": {
            "$ref": "#/components/schemas/BaseBookingSpace"
          }
        },
        "required": [
          "id",
          "alternateId",
          "day",
          "time",
          "duration",
          "checkedIn",
          "status",
          "account",
          "space"
        ]
      },
      "Booking": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseBooking"
          },
          {
            "type": "object",
            "properties": {
              "lineItem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentLineItem"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "responses": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseBookingQuestionResponse"
                }
              }
            },
            "required": [
              "lineItem",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BookingSlot": {
        "type": "object",
        "properties": {
          "time": {
            "type": "string"
          },
          "supply": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "time",
          "supply"
        ]
      },
      "WidgetCategory": {
        "type": "string",
        "enum": [
          "organization",
          "event"
        ]
      },
      "WidgetType": {
        "type": "string",
        "enum": [
          "kpi",
          "bar",
          "line"
        ]
      },
      "DashboardWidgetEndpoint": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/WidgetType"
          },
          "endpoint": {
            "type": "object"
          },
          "requiresDateRange": {
            "type": "boolean"
          },
          "category": {
            "$ref": "#/components/schemas/WidgetCategory"
          },
          "defaultSize": {
            "type": "object",
            "properties": {
              "w": {
                "type": "number"
              },
              "h": {
                "type": "number"
              }
            },
            "required": [
              "w",
              "h"
            ]
          }
        },
        "required": [
          "name",
          "description",
          "type",
          "endpoint",
          "requiresDateRange",
          "category"
        ]
      },
      "BaseDashboardWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "endpoint": {
            "$ref": "#/components/schemas/DashboardWidgetEndpoint"
          },
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "w": {
            "type": "number"
          },
          "h": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "endpoint",
          "x",
          "y",
          "w",
          "h"
        ]
      },
      "DashboardWidget": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDashboardWidget"
          }
        ]
      },
      "BaseDashboard": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "userId": {
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "organizationId",
          "eventId",
          "userId",
          "createdAt",
          "updatedAt"
        ]
      },
      "Dashboard": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseDashboard"
          },
          {
            "type": "object",
            "properties": {
              "widgets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseDashboardWidget"
                }
              }
            },
            "required": [
              "widgets"
            ]
          }
        ]
      },
      "BaseEventPackage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "price",
          "isActive",
          "imageId",
          "image",
          "sortOrder",
          "taxCode",
          "taxIncluded",
          "taxLocation"
        ]
      },
      "EventPackage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPackage"
          },
          {
            "type": "object",
            "properties": {
              "passes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPackagePass"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "passes",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventPackageTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description"
        ]
      },
      "BaseEventPackagePass": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passTypeId": {
            "type": "string"
          },
          "passType": {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          "quantity": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "passTypeId",
          "passType",
          "quantity"
        ]
      },
      "EventPackagePass": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventPackagePass"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseRegistrationPackage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "attendeeId": {
            "type": "string"
          },
          "packageId": {
            "type": "string"
          },
          "package": {
            "$ref": "#/components/schemas/BaseEventPackage"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "attendeeId",
          "packageId",
          "package",
          "status",
          "createdAt"
        ]
      },
      "RegistrationPackage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRegistrationPackage"
          },
          {
            "type": "object",
            "properties": {
              "passes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPass"
                }
              },
              "lineItem": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PaymentLineItem"
                  }
                ],
                "nullable": true
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "passes",
              "lineItem",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventMediaItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseVideo"
              }
            ],
            "nullable": true
          },
          "fileId": {
            "type": "string",
            "nullable": true
          },
          "file": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseFile"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "mediaInteractionsEnabled": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "imageId",
          "image",
          "videoId",
          "video",
          "fileId",
          "file",
          "sortOrder",
          "mediaInteractionsEnabled"
        ]
      },
      "EventMediaItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventMediaItem"
          },
          {
            "type": "object",
            "properties": {
              "allowedPassTypes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPassType"
                }
              },
              "allowedTiers": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseTier"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "allowedPassTypes",
              "allowedTiers",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseEventMediaItemLike": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "eventMediaItemId": {
            "type": "string"
          }
        },
        "required": [
          "accountId",
          "eventId",
          "eventMediaItemId"
        ]
      },
      "EventMediaItemLike": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventMediaItemLike"
          },
          {
            "type": "object",
            "properties": {
              "account": {
                "$ref": "#/components/schemas/BaseAccount"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "account",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventMediaItemTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSponsorshipLevel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sponsorsPerRow": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "sponsorsPerRow"
        ]
      },
      "EventSponsorshipLevel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSponsorshipLevel"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "sponsors": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventSponsorship"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sortOrder",
              "sponsors",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSponsorshipLevelTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEventSponsorship": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "description",
          "url",
          "account",
          "image"
        ]
      },
      "EventSponsorship": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEventSponsorship"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "EventSponsorshipTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "number"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "SurveyStatus": {
        "type": "string",
        "enum": [
          "draft",
          "published",
          "archived"
        ]
      },
      "BaseSurvey": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SurveyStatus"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "$ref": "#/components/schemas/BaseImage"
          },
          "requireAuth": {
            "type": "boolean"
          },
          "submissionsPerAccount": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "slug",
          "name",
          "status",
          "description",
          "image",
          "requireAuth",
          "submissionsPerAccount"
        ]
      },
      "Survey": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurvey"
          },
          {
            "type": "object",
            "properties": {
              "replyTo": {
                "type": "string",
                "nullable": true
              },
              "emailBody": {
                "type": "string",
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "requireCheckIn": {
                "type": "boolean"
              },
              "activationId": {
                "type": "string",
                "nullable": true
              },
              "activation": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventActivation"
                  }
                ],
                "nullable": true
              },
              "passTypes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseEventPassType"
                },
                "nullable": true
              },
              "_count": {
                "type": "object",
                "properties": {
                  "submissions": {
                    "type": "number"
                  }
                },
                "required": [
                  "submissions"
                ]
              }
            },
            "required": [
              "replyTo",
              "emailBody",
              "createdAt",
              "updatedAt",
              "eventId",
              "event",
              "requireCheckIn",
              "activationId",
              "activation",
              "passTypes",
              "_count"
            ]
          }
        ]
      },
      "SurveyTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSurveySubmission": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "passId": {
            "type": "string",
            "nullable": true
          },
          "pass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseEventPass"
              }
            ],
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseSurveyQuestionResponse"
            }
          }
        },
        "required": [
          "id",
          "accountId",
          "account",
          "passId",
          "pass",
          "status",
          "responses"
        ]
      },
      "SurveySubmission": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveySubmission"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SurveyQuestionType": {
        "type": "string",
        "enum": [
          "text",
          "textarea",
          "number",
          "date",
          "toggle",
          "select",
          "radio",
          "checkbox",
          "search",
          "file",
          "location",
          "matrix"
        ]
      },
      "BaseSurveyQuestionChoice": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "subQuestions": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SurveyQuestion"
                }
              },
              {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "questionId": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "questionId"
                  ]
                }
              }
            ]
          },
          "question": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "name"
            ]
          },
          "_count": {
            "type": "object",
            "properties": {
              "subQuestions": {
                "type": "number"
              }
            },
            "required": [
              "subQuestions"
            ]
          }
        },
        "required": [
          "id",
          "value",
          "text",
          "description",
          "supply",
          "sortOrder",
          "question",
          "_count"
        ]
      },
      "SurveyQuestionChoice": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveyQuestionChoice"
          },
          {
            "type": "object",
            "properties": {
              "questionId": {
                "type": "string"
              },
              "question": {
                "$ref": "#/components/schemas/BaseSurveyQuestion"
              },
              "subQuestions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSurveyQuestionChoiceSubQuestion"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questionId",
              "question",
              "subQuestions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSurveyQuestionChoiceSubQuestion": {
        "type": "object",
        "properties": {
          "choiceId": {
            "type": "string"
          },
          "choice": {
            "$ref": "#/components/schemas/BaseSurveyQuestionChoice"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseSurveyQuestion"
          }
        },
        "required": [
          "choiceId",
          "choice",
          "questionId",
          "question"
        ]
      },
      "SurveyQuestionChoiceSubQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveyQuestionChoiceSubQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sortOrder": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "sortOrder",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SurveyQuestionChoiceTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "value",
          "text",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSurveyQuestionResponseChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "newValue": {
            "type": "string"
          },
          "oldValue": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "responseId": {
            "type": "string"
          },
          "userId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "newValue",
          "oldValue",
          "eventId",
          "questionId",
          "responseId",
          "userId",
          "createdAt"
        ]
      },
      "SurveyQuestionResponseChange": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveyQuestionResponseChange"
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "$ref": "#/components/schemas/BaseSurveyQuestionResponse"
              },
              "user": {
                "$ref": "#/components/schemas/BaseUser"
              }
            },
            "required": [
              "response",
              "user"
            ]
          }
        ]
      },
      "BaseSurveyQuestionResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseSurveyQuestion"
          }
        },
        "required": [
          "id",
          "value",
          "questionId",
          "question"
        ]
      },
      "SurveyQuestionResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveyQuestionResponse"
          },
          {
            "type": "object",
            "properties": {
              "changeLogs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSurveyQuestionResponseChange"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "changeLogs",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSurveyQuestion": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/SurveyQuestionType"
          },
          "name": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "searchList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseSearchList"
              }
            ],
            "nullable": true
          },
          "matrixQuestionId": {
            "type": "string",
            "nullable": true
          },
          "matrixSortOrder": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseSurveyQuestionChoice"
            }
          }
        },
        "required": [
          "id",
          "eventId",
          "type",
          "name",
          "required",
          "description",
          "label",
          "placeholder",
          "default",
          "searchListId",
          "searchList",
          "matrixQuestionId",
          "matrixSortOrder",
          "mutable",
          "min",
          "max",
          "masked",
          "validation",
          "validationMessage",
          "locationOption",
          "sortOrder",
          "featured",
          "choices"
        ]
      },
      "SurveyQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveyQuestion"
          },
          {
            "type": "object",
            "properties": {
              "sections": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSurveySectionQuestion"
                }
              },
              "subQuestionOf": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SurveyQuestionChoiceSubQuestion"
                }
              },
              "matrixRows": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSurveyQuestion"
                }
              },
              "dashboardVisibility": {
                "type": "boolean"
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              },
              "_count": {
                "type": "object",
                "properties": {
                  "responses": {
                    "type": "number"
                  }
                },
                "required": [
                  "responses"
                ]
              }
            },
            "required": [
              "sections",
              "subQuestionOf",
              "dashboardVisibility",
              "createdAt",
              "updatedAt",
              "_count"
            ]
          }
        ]
      },
      "SurveyQuestionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "label",
          "placeholder",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseSurveySectionQuestion": {
        "type": "object",
        "properties": {
          "sectionId": {
            "type": "string"
          },
          "section": {
            "$ref": "#/components/schemas/BaseSurveySection"
          },
          "questionId": {
            "type": "string"
          },
          "question": {
            "$ref": "#/components/schemas/BaseSurveyQuestion"
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "sectionId",
          "section",
          "questionId",
          "question",
          "sortOrder"
        ]
      },
      "SurveySectionQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveySectionQuestion"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "BaseSurveySection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "_count": {
            "type": "object",
            "properties": {
              "questions": {
                "type": "number"
              }
            },
            "required": [
              "questions"
            ]
          }
        },
        "required": [
          "id",
          "eventId",
          "name",
          "description",
          "sortOrder",
          "_count"
        ]
      },
      "SurveySection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSurveySection"
          },
          {
            "type": "object",
            "properties": {
              "questions": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SurveyQuestion"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "questions",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SurveySectionTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "locale",
          "name",
          "description",
          "createdAt",
          "updatedAt"
        ]
      },
      "CustomModulePosition": {
        "type": "string",
        "enum": [
          "top",
          "bottom"
        ]
      },
      "CustomModule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "iconName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          },
          "position": {
            "$ref": "#/components/schemas/CustomModulePosition"
          }
        },
        "required": [
          "id",
          "name",
          "url",
          "iconName",
          "color",
          "description",
          "enabled",
          "position"
        ]
      },
      "CustomModuleTranslation": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "moduleId": {
            "type": "string"
          },
          "locale": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "moduleId",
          "locale",
          "name",
          "description"
        ]
      },
      "MatchQuestionType": {
        "type": "string",
        "enum": [
          "exclude",
          "include",
          "split"
        ]
      },
      "BaseRound": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "event": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "roundName": {
                "type": "string",
                "nullable": true
              },
              "matchName": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "id",
              "roundName",
              "matchName"
            ],
            "nullable": true
          },
          "session": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "roundName": {
                "type": "string",
                "nullable": true
              },
              "matchName": {
                "type": "string",
                "nullable": true
              }
            },
            "required": [
              "id",
              "roundName",
              "matchName"
            ],
            "nullable": true
          },
          "number": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "event",
          "session",
          "number"
        ]
      },
      "Round": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseRound"
          },
          {
            "type": "object",
            "properties": {
              "matches": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "number": {
                      "type": "number"
                    },
                    "title": {
                      "type": "string",
                      "nullable": true
                    }
                  },
                  "required": [
                    "id",
                    "number",
                    "title"
                  ]
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "matches",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "RoundEventQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RegistrationQuestion"
          },
          {
            "type": "object",
            "properties": {
              "matchType": {
                "type": "string",
                "enum": [
                  "include",
                  "split",
                  "exclude"
                ]
              },
              "roundQuestionId": {
                "type": "string"
              }
            },
            "required": [
              "matchType"
            ]
          }
        ]
      },
      "RoundSessionQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventSessionQuestion"
          },
          {
            "type": "object",
            "properties": {
              "matchType": {
                "type": "string",
                "enum": [
                  "include",
                  "split",
                  "exclude"
                ]
              },
              "roundQuestionId": {
                "type": "string"
              }
            },
            "required": [
              "matchType"
            ]
          }
        ]
      },
      "BaseMatchPass": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "alternateId": {
            "type": "number"
          },
          "ticket": {
            "$ref": "#/components/schemas/BaseEventPassType"
          },
          "attendee": {
            "$ref": "#/components/schemas/BaseEventRegistration"
          },
          "responses": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseRegistrationQuestionResponse"
            }
          },
          "accesses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "responses": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BaseEventSessionQuestionResponse"
                  }
                }
              },
              "required": [
                "responses"
              ]
            }
          }
        },
        "required": [
          "id",
          "alternateId",
          "ticket",
          "attendee"
        ]
      },
      "BaseMatch": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "round": {
            "$ref": "#/components/schemas/BaseRound"
          },
          "number": {
            "type": "number"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "round",
          "number",
          "title",
          "description"
        ]
      },
      "Match": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseMatch"
          },
          {
            "type": "object",
            "properties": {
              "passes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseMatchPass"
                }
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "passes",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SideEffectTriggerType": {
        "type": "string",
        "enum": [
          "CHECKED_IN_EVENT_PASS",
          "CHECKED_IN_EVENT_SESSION",
          "NEW_ACCOUNT_TIER",
          "REMOVED_ACCOUNT_TIER",
          "COMPLETED_SURVEY",
          "NEW_PASS_OF_PASS_TYPE",
          "PASS_WITH_QUESTION_CHOICE",
          "PURCHASED_ADDON"
        ]
      },
      "SideEffectActionType": {
        "type": "string",
        "enum": [
          "JOIN_GROUP",
          "LEAVE_GROUP",
          "ADD_TO_TIER",
          "SUBSCRIBE_TO_CHANNEL",
          "SEND_WEBHOOK",
          "COMPLETE_ACTIVATION",
          "REGISTER_FOR_SESSION",
          "FULFILL_ADDON",
          "ADD_ADDON"
        ]
      },
      "BaseSideEffect": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "newPassOfPassTypeId": {
            "type": "string",
            "nullable": true
          },
          "checkedInPassEventId": {
            "type": "string",
            "nullable": true
          },
          "checkedInSessionId": {
            "type": "string",
            "nullable": true
          },
          "newAccountTierId": {
            "type": "string",
            "nullable": true
          },
          "removedAccountTierId": {
            "type": "string",
            "nullable": true
          },
          "passWithQuestionChoiceId": {
            "type": "string",
            "nullable": true
          },
          "purchasedAddOnId": {
            "type": "string",
            "nullable": true
          },
          "completedSurveyId": {
            "type": "string",
            "nullable": true
          },
          "joinGroupId": {
            "type": "string",
            "nullable": true
          },
          "leaveGroupId": {
            "type": "string",
            "nullable": true
          },
          "addToTierId": {
            "type": "string",
            "nullable": true
          },
          "subscribeToChannelId": {
            "type": "string",
            "nullable": true
          },
          "sendWebhookId": {
            "type": "string",
            "nullable": true
          },
          "completeActivationId": {
            "type": "string",
            "nullable": true
          },
          "registerForSessionId": {
            "type": "string",
            "nullable": true
          },
          "fulfillAddOnId": {
            "type": "string",
            "nullable": true
          },
          "addAddOnId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "newPassOfPassTypeId",
          "checkedInPassEventId",
          "checkedInSessionId",
          "newAccountTierId",
          "removedAccountTierId",
          "passWithQuestionChoiceId",
          "purchasedAddOnId",
          "completedSurveyId",
          "joinGroupId",
          "leaveGroupId",
          "addToTierId",
          "subscribeToChannelId",
          "sendWebhookId",
          "completeActivationId",
          "registerForSessionId",
          "fulfillAddOnId",
          "addAddOnId"
        ]
      },
      "SideEffect": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseSideEffect"
          },
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "organizationId": {
                "type": "string"
              },
              "newPassOfPassType": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventPassType"
                  }
                ],
                "nullable": true
              },
              "checkedInPassEvent": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "checkedInSession": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSession"
                  }
                ],
                "nullable": true
              },
              "newAccountTier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseTier"
                  }
                ],
                "nullable": true
              },
              "removedAccountTier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseTier"
                  }
                ],
                "nullable": true
              },
              "passWithQuestionChoice": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseRegistrationQuestionChoice"
                  }
                ],
                "nullable": true
              },
              "purchasedAddOn": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventAddOn"
                  }
                ],
                "nullable": true
              },
              "completedSurvey": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseSurvey"
                  }
                ],
                "nullable": true
              },
              "joinGroup": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "leaveGroup": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "addToTier": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseTier"
                  }
                ],
                "nullable": true
              },
              "subscribeToChannel": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseChannel"
                  }
                ],
                "nullable": true
              },
              "sendWebhook": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseWebhook"
                  }
                ],
                "nullable": true
              },
              "completeActivation": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventActivation"
                  }
                ],
                "nullable": true
              },
              "registerForSession": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSession"
                  }
                ],
                "nullable": true
              },
              "fulfillAddOn": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventAddOn"
                  }
                ],
                "nullable": true
              },
              "addAddOn": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventAddOn"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "id",
              "organizationId",
              "newPassOfPassType",
              "checkedInPassEvent",
              "checkedInSession",
              "newAccountTier",
              "removedAccountTier",
              "passWithQuestionChoice",
              "purchasedAddOn",
              "completedSurvey",
              "joinGroup",
              "leaveGroup",
              "addToTier",
              "subscribeToChannel",
              "sendWebhook",
              "completeActivation",
              "registerForSession",
              "fulfillAddOn",
              "addAddOn",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "SystemEventLogStatus": {
        "type": "string",
        "enum": [
          "pending",
          "completed"
        ]
      },
      "SystemEventLog": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SystemEventLogStatus"
          },
          "trigger": {
            "type": "string"
          },
          "progress": {
            "type": "object",
            "additionalProperties": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "status",
          "trigger",
          "progress",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseWebhook": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "url",
          "name",
          "verified"
        ]
      },
      "Webhook": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseWebhook"
          },
          {
            "type": "object",
            "properties": {
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "PassChangeLogType": {
        "type": "string",
        "enum": [
          "status",
          "passType",
          "response",
          "addOn",
          "session",
          "registration",
          "email",
          "internalRefId"
        ]
      },
      "PassChange": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "passId": {
            "type": "string"
          },
          "alternateId": {
            "type": "number"
          },
          "type": {
            "$ref": "#/components/schemas/PassChangeLogType"
          },
          "description": {
            "type": "string"
          },
          "subjectId": {
            "type": "string",
            "nullable": true
          },
          "oldValue": {
            "type": "string",
            "nullable": true
          },
          "newValue": {
            "type": "string",
            "nullable": true
          },
          "occurredAt": {
            "type": "string"
          },
          "account": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseAccount"
              }
            ],
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "passId",
          "alternateId",
          "type",
          "description",
          "subjectId",
          "oldValue",
          "newValue",
          "occurredAt",
          "account",
          "createdAt"
        ]
      },
      "BaseOrganizationEntity": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "legalName": {
            "type": "string"
          },
          "tradingName": {
            "type": "string",
            "nullable": true
          },
          "primary": {
            "type": "boolean",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "legalName",
          "tradingName",
          "primary",
          "vatNumber",
          "vatCountry"
        ]
      },
      "OrganizationEntity": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseOrganizationEntity"
          },
          {
            "type": "object",
            "properties": {
              "companyNumber": {
                "type": "string",
                "nullable": true
              },
              "address1": {
                "type": "string"
              },
              "address2": {
                "type": "string",
                "nullable": true
              },
              "city": {
                "type": "string"
              },
              "state": {
                "type": "string",
                "nullable": true
              },
              "country": {
                "type": "string"
              },
              "zip": {
                "type": "string"
              },
              "companyCode": {
                "type": "string",
                "nullable": true
              },
              "paymentIntegrationId": {
                "type": "string",
                "nullable": true
              },
              "paymentIntegration": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BasePaymentIntegration"
                  }
                ],
                "nullable": true
              },
              "createdAt": {
                "type": "string"
              },
              "updatedAt": {
                "type": "string"
              }
            },
            "required": [
              "companyNumber",
              "address1",
              "address2",
              "city",
              "state",
              "country",
              "zip",
              "companyCode",
              "paymentIntegrationId",
              "paymentIntegration",
              "createdAt",
              "updatedAt"
            ]
          }
        ]
      },
      "VideoCaption": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "generated": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "inprogress",
              "ready",
              "error"
            ]
          }
        },
        "required": [
          "language",
          "label",
          "generated",
          "status"
        ]
      },
      "TaxCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "description"
        ]
      },
      "EntityUseCode": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "name",
          "description"
        ]
      },
      "StreamInputDetails": {
        "type": "object",
        "properties": {
          "uid": {
            "type": "string"
          },
          "rtmps": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "streamKey": {
                "type": "string"
              }
            },
            "required": [
              "url",
              "streamKey"
            ]
          },
          "rtmpsPlayback": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "streamKey": {
                "type": "string"
              }
            },
            "required": [
              "url",
              "streamKey"
            ]
          },
          "srt": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "streamId": {
                "type": "string"
              },
              "passphrase": {
                "type": "string"
              }
            },
            "required": [
              "url",
              "streamId",
              "passphrase"
            ]
          },
          "srtPlayback": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "streamId": {
                "type": "string"
              },
              "passphrase": {
                "type": "string"
              }
            },
            "required": [
              "url",
              "streamId",
              "passphrase"
            ]
          },
          "webRTC": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ]
          },
          "webRTCPlayback": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ]
          },
          "created": {
            "type": "string"
          },
          "modified": {
            "type": "string"
          },
          "meta": {
            "type": "object",
            "additionalProperties": true
          },
          "defaultCreator": {
            "type": "string"
          },
          "status": {
            "type": "object"
          },
          "recording": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "automatic",
                  "off"
                ]
              },
              "requireSignedURLs": {
                "type": "boolean"
              },
              "allowedOrigins": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "mode",
              "requireSignedURLs",
              "allowedOrigins"
            ]
          },
          "deleteRecordingAfterDays": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "uid",
          "rtmps",
          "rtmpsPlayback",
          "srt",
          "srtPlayback",
          "webRTC",
          "webRTCPlayback",
          "created",
          "modified",
          "meta",
          "defaultCreator",
          "status",
          "recording",
          "deleteRecordingAfterDays"
        ]
      },
      "BaseStreamInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "cloudflareId": {
            "type": "string"
          },
          "public": {
            "type": "boolean"
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "image": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BaseImage"
              }
            ],
            "nullable": true
          },
          "locale": {
            "type": "string"
          },
          "webRTC": {
            "type": "boolean"
          },
          "webRTCPlaybackUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "name",
          "cloudflareId",
          "public",
          "sessionId",
          "eventId",
          "groupId",
          "imageId",
          "image",
          "locale",
          "webRTC",
          "webRTCPlaybackUrl"
        ]
      },
      "StreamInput": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseStreamInput"
          },
          {
            "type": "object",
            "properties": {
              "eventId": {
                "type": "string",
                "nullable": true
              },
              "event": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEvent"
                  }
                ],
                "nullable": true
              },
              "sessionId": {
                "type": "string",
                "nullable": true
              },
              "session": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseEventSession"
                  }
                ],
                "nullable": true
              },
              "groupId": {
                "type": "string",
                "nullable": true
              },
              "group": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseGroup"
                  }
                ],
                "nullable": true
              },
              "meetingId": {
                "type": "string",
                "nullable": true
              },
              "meeting": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseMeeting"
                  }
                ],
                "nullable": true
              },
              "streamInputId": {
                "type": "string",
                "nullable": true
              },
              "streamInput": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/BaseStreamInput"
                  }
                ],
                "nullable": true
              },
              "details": {
                "$ref": "#/components/schemas/StreamInputDetails"
              },
              "sortOrder": {
                "type": "number"
              },
              "createdAt": {
                "type": "string"
              }
            },
            "required": [
              "eventId",
              "event",
              "sessionId",
              "session",
              "groupId",
              "group",
              "meetingId",
              "meeting",
              "streamInputId",
              "streamInput",
              "sortOrder",
              "createdAt"
            ]
          }
        ]
      },
      "StreamInputOutput": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "streamKey": {
            "type": "string"
          },
          "uid": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "url",
          "streamKey",
          "uid"
        ]
      },
      "BaseStreamSession": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "streamId": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "startedAt": {
            "type": "string",
            "nullable": true
          },
          "endedAt": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "streamId",
          "status",
          "startedAt",
          "endedAt",
          "createdAt",
          "updatedAt"
        ]
      },
      "StreamSession": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseStreamSession"
          },
          {
            "type": "object",
            "properties": {
              "stream": {
                "$ref": "#/components/schemas/BaseStreamInput"
              },
              "organization": {
                "$ref": "#/components/schemas/BaseOrganization"
              }
            },
            "required": [
              "stream",
              "organization"
            ]
          }
        ]
      },
      "BaseWebSocketConnection": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "account": {
            "$ref": "#/components/schemas/BaseAccount"
          },
          "active": {
            "type": "boolean"
          },
          "connectedAt": {
            "type": "string"
          },
          "disconnectedAt": {
            "type": "string",
            "nullable": true
          },
          "streamId": {
            "type": "string"
          },
          "streamSessionId": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "organizationId",
          "account",
          "active",
          "connectedAt",
          "disconnectedAt",
          "streamId",
          "streamSessionId"
        ]
      },
      "WebSocketConnection": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseWebSocketConnection"
          }
        ]
      },
      "BaseStreamSessionSubscription": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "streamId": {
            "type": "string"
          },
          "streamSessionId": {
            "type": "string"
          },
          "connectionId": {
            "type": "string"
          },
          "connectedAt": {
            "type": "string"
          },
          "disconnectedAt": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "id",
          "organizationId",
          "streamId",
          "streamSessionId",
          "connectionId",
          "connectedAt",
          "disconnectedAt"
        ]
      },
      "StreamSessionSubscription": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseStreamSessionSubscription"
          },
          {
            "type": "object",
            "properties": {
              "connection": {
                "$ref": "#/components/schemas/BaseWebSocketConnection"
              },
              "streamSession": {
                "$ref": "#/components/schemas/BaseStreamSession"
              }
            },
            "required": [
              "connection",
              "streamSession"
            ]
          }
        ]
      },
      "StreamSessionChatMessage": {
        "type": "object",
        "properties": {
          "messageId": {
            "type": "string"
          },
          "streamId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "connectionId": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "timestamp": {
            "type": "number"
          }
        },
        "required": [
          "messageId",
          "streamId",
          "sessionId",
          "accountId",
          "name",
          "connectionId",
          "message",
          "timestamp"
        ]
      },
      "AnnouncementFilters": {
        "type": "object",
        "properties": {
          "verifiedAccounts": {
            "type": "boolean"
          },
          "eventId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "tierId": {
            "type": "string"
          },
          "channelId": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "sponsorshipLevelId": {
            "type": "string"
          }
        }
      },
      "ImageUsage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Image"
          },
          {
            "type": "object",
            "properties": {
              "_count": {
                "type": "object",
                "properties": {
                  "accounts": {
                    "type": "number"
                  },
                  "events": {
                    "type": "number"
                  },
                  "sessions": {
                    "type": "number"
                  },
                  "groups": {
                    "type": "number"
                  },
                  "usage": {
                    "type": "number"
                  },
                  "speakers": {
                    "type": "number"
                  },
                  "tickets": {
                    "type": "number"
                  }
                },
                "required": [
                  "accounts",
                  "events",
                  "sessions",
                  "groups",
                  "usage",
                  "speakers",
                  "tickets"
                ]
              }
            },
            "required": [
              "_count"
            ]
          }
        ]
      },
      "SearchOrganizationFilters": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "boolean"
          },
          "events": {
            "type": "boolean"
          },
          "groups": {
            "type": "boolean"
          },
          "channels": {
            "type": "boolean"
          },
          "contents": {
            "type": "boolean"
          },
          "threads": {
            "type": "boolean"
          }
        }
      },
      "RefundLineItem": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "amount"
        ]
      },
      "ImageWCopyUri": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Image"
          },
          {
            "type": "object",
            "properties": {
              "copyUri": {
                "type": "string"
              }
            },
            "required": [
              "copyUri"
            ]
          }
        ]
      },
      "BarChartSummaryData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "bar"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "label",
                "value"
              ]
            }
          },
          "count": {
            "type": "number"
          },
          "question": {
            "$ref": "#/components/schemas/RegistrationQuestion"
          }
        },
        "required": [
          "type",
          "data",
          "count"
        ]
      },
      "LineChartSummaryData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "line"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "label": {
                  "type": "string"
                },
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "label",
                "value"
              ]
            }
          },
          "count": {
            "type": "number"
          },
          "question": {
            "$ref": "#/components/schemas/RegistrationQuestion"
          }
        },
        "required": [
          "type",
          "data",
          "count"
        ]
      },
      "TableChartSummaryData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "table"
            ]
          },
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "value": {
                  "type": "number"
                }
              },
              "required": [
                "value"
              ]
            }
          },
          "count": {
            "type": "number"
          },
          "question": {
            "$ref": "#/components/schemas/RegistrationQuestion"
          }
        },
        "required": [
          "type",
          "data",
          "count"
        ]
      },
      "CountChartSummaryData": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "count"
            ]
          },
          "data": {
            "type": "string",
            "enum": [
              "null"
            ]
          },
          "count": {
            "type": "number"
          },
          "question": {
            "$ref": "#/components/schemas/RegistrationQuestion"
          }
        },
        "required": [
          "type",
          "data",
          "count"
        ]
      },
      "SummaryData": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/BarChartSummaryData"
          },
          {
            "$ref": "#/components/schemas/LineChartSummaryData"
          },
          {
            "$ref": "#/components/schemas/TableChartSummaryData"
          },
          {
            "$ref": "#/components/schemas/CountChartSummaryData"
          }
        ]
      },
      "AccountCreateInputs": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "dietaryRestrictions": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "internalRefIdVerified": {
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "taxEntityUseCode": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "object",
            "additionalProperties": true,
            "nullable": true
          },
          "confirmationEmailCount": {
            "type": "number"
          }
        },
        "required": [
          "email"
        ]
      },
      "AccountUpdateInputs": {
        "type": "object",
        "properties": {
          "accountAccess": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AccountAccess"
              }
            ],
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "video": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "dietaryRestrictions": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "internalRefIdVerified": {
            "type": "boolean"
          },
          "verified": {
            "type": "boolean"
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "taxEntityUseCode": {
            "type": "string",
            "nullable": true
          },
          "attributes": {
            "type": "object",
            "additionalProperties": true,
            "nullable": true
          },
          "confirmationEmailCount": {
            "type": "number"
          }
        }
      },
      "AccountAddressCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        },
        "required": [
          "address1",
          "city",
          "state",
          "country",
          "zip"
        ]
      },
      "AccountAddressUpdateInputs": {
        "type": "object",
        "properties": {
          "primary": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          }
        }
      },
      "ImportCreateInputs": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                }
              },
              "required": [
                "email"
              ]
            },
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ImportType"
              }
            ],
            "nullable": true
          }
        }
      },
      "BaseActivityEntityInput": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ActivityEntityType"
          },
          "startIndex": {
            "type": "number"
          },
          "endIndex": {
            "type": "number"
          },
          "marks": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "bold",
                "italic",
                "underline",
                "strike"
              ]
            }
          }
        },
        "required": [
          "type",
          "startIndex",
          "endIndex",
          "marks"
        ]
      },
      "MentionInputs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivityEntityInput"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "mention"
                ]
              },
              "username": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "username"
            ]
          }
        ]
      },
      "InterestInputs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivityEntityInput"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "interest"
                ]
              },
              "interest": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "interest"
            ]
          }
        ]
      },
      "LinkInputs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivityEntityInput"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "link"
                ]
              },
              "href": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "href"
            ]
          }
        ]
      },
      "SegmentInputs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseActivityEntityInput"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "segment"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "ActivityEntityInputs": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/MentionInputs"
          },
          {
            "$ref": "#/components/schemas/LinkInputs"
          },
          {
            "$ref": "#/components/schemas/InterestInputs"
          },
          {
            "$ref": "#/components/schemas/SegmentInputs"
          }
        ]
      },
      "ActivityCreateInputs": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityEntityInputs"
            },
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "pinned": {
            "type": "boolean"
          },
          "pinnedExplore": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "contentId": {
            "type": "string",
            "nullable": true
          },
          "eventMediaItemId": {
            "type": "string",
            "nullable": true
          },
          "commentedId": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "message"
        ]
      },
      "ActivityUpdateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "message": {
            "type": "string",
            "nullable": true
          },
          "entities": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActivityEntityInputs"
            },
            "nullable": true
          },
          "moderation": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ModerationStatus"
              }
            ],
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "pinned": {
            "type": "boolean"
          },
          "pinnedExplore": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "AdvertisementCreateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AdvertisementType"
          },
          "link": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "eventOnly": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "link",
          "title",
          "startDate"
        ]
      },
      "AdvertisementUpdateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AdvertisementType"
              }
            ],
            "nullable": true
          },
          "link": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "weight": {
            "type": "number",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "eventOnly": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "AnnouncementCreateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "tierId": {
            "type": "string",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "verifiedAccounts": {
            "type": "boolean",
            "nullable": true
          },
          "sponsorshipLevelId": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventAnnouncementFilters"
              }
            ],
            "nullable": true
          },
          "includePasses": {
            "type": "boolean"
          }
        },
        "required": [
          "title"
        ]
      },
      "AnnouncementUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          },
          "filters": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventAnnouncementFilters"
              }
            ],
            "nullable": true
          },
          "includePasses": {
            "type": "boolean"
          }
        }
      },
      "AnnouncementTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BenefitCreateInputs": {
        "type": "object",
        "properties": {
          "link": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "startDate": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "managerId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "eventOnly": {
            "type": "boolean"
          }
        },
        "required": [
          "link",
          "title",
          "startDate"
        ]
      },
      "BenefitTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BenefitUpdateInputs": {
        "type": "object",
        "properties": {
          "link": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "managerId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "eventOnly": {
            "type": "boolean"
          }
        }
      },
      "ChannelCollectionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "ChannelCollectionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelCollectionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "imageId": {
            "type": "string"
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "appleUrl": {
            "type": "string",
            "nullable": true
          },
          "spotifyUrl": {
            "type": "string",
            "nullable": true
          },
          "googleUrl": {
            "type": "string",
            "nullable": true
          },
          "youtubeUrl": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "imageId"
        ]
      },
      "ChannelSubscriberUpdateInputs": {
        "type": "object",
        "properties": {
          "contentEmailNotification": {
            "type": "boolean"
          },
          "contentPushNotification": {
            "type": "boolean"
          }
        }
      },
      "ChannelTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "bannerId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "appleUrl": {
            "type": "string",
            "nullable": true
          },
          "spotifyUrl": {
            "type": "string",
            "nullable": true
          },
          "googleUrl": {
            "type": "string",
            "nullable": true
          },
          "youtubeUrl": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelContentCreateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "published": {
            "type": "string",
            "nullable": true
          },
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "audioId": {
            "type": "number",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "appleUrl": {
            "type": "string",
            "nullable": true
          },
          "spotifyUrl": {
            "type": "string",
            "nullable": true
          },
          "googleUrl": {
            "type": "string",
            "nullable": true
          },
          "youtubeUrl": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "title"
        ]
      },
      "ChannelContentGuestCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContentGuestType"
              }
            ],
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyLink": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "ChannelContentGuestTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelContentGuestUpdateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ContentGuestType"
              }
            ],
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyLink": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ChannelContentTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "audioId": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "ChannelContentUpdateInputs": {
        "type": "object",
        "properties": {
          "channelId": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "duration": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "imageUrl": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "audioId": {
            "type": "number",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "appleUrl": {
            "type": "string",
            "nullable": true
          },
          "spotifyUrl": {
            "type": "string",
            "nullable": true
          },
          "googleUrl": {
            "type": "string",
            "nullable": true
          },
          "youtubeUrl": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          }
        }
      },
      "EventActivationCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "visible": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "maxPoints": {
            "type": "number",
            "nullable": true
          },
          "startAfter": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/EventActivationType"
          },
          "rewardType": {
            "$ref": "#/components/schemas/EventActivationRewardType"
          },
          "protectionCode": {
            "type": "number",
            "nullable": true
          },
          "email": {
            "type": "boolean"
          },
          "push": {
            "type": "boolean"
          },
          "accessLevel": {
            "$ref": "#/components/schemas/PassTypeAccessLevel"
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "imageUpload": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "shortDescription"
        ]
      },
      "EventActivationTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventActivationUpdateInputs": {
        "type": "object",
        "properties": {
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "maxPoints": {
            "type": "number",
            "nullable": true
          },
          "startAfter": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/EventActivationType"
          },
          "rewardType": {
            "$ref": "#/components/schemas/EventActivationRewardType"
          },
          "protectionCode": {
            "type": "number",
            "nullable": true
          },
          "accessLevel": {
            "$ref": "#/components/schemas/PassTypeAccessLevel"
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "imageUpload": {
            "type": "boolean"
          }
        }
      },
      "EventActivationCompletionCreateInputs": {
        "type": "object",
        "properties": {
          "passId": {
            "type": "string"
          },
          "earnedPoints": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "passId",
          "earnedPoints"
        ]
      },
      "EventActivationCompletionUpdateInputs": {
        "type": "object",
        "properties": {
          "earnedPoints": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "earnedPoints"
        ]
      },
      "EventAddOnCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "includedNights": {
            "type": "number"
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "visibility": {
            "$ref": "#/components/schemas/EventAddOnVisibility"
          }
        },
        "required": [
          "name",
          "shortDescription",
          "price"
        ]
      },
      "EventAddOnTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventAddOnUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "includedNights": {
            "type": "number"
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "visibility": {
            "$ref": "#/components/schemas/EventAddOnVisibility"
          }
        }
      },
      "EventAttributeCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "EventAttributeUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventBadgeColorRuleCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BadgeColorRuleType"
          },
          "color": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "attributeId": {
            "type": "string",
            "nullable": true
          },
          "attributeValue": {
            "type": "string",
            "nullable": true
          },
          "tierId": {
            "type": "string",
            "nullable": true
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeValue": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "type",
          "color"
        ]
      },
      "EventBadgeColorRuleUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BadgeColorRuleType"
          },
          "color": {
            "type": "string"
          },
          "sortOrder": {
            "type": "number"
          },
          "attributeId": {
            "type": "string",
            "nullable": true
          },
          "attributeValue": {
            "type": "string",
            "nullable": true
          },
          "tierId": {
            "type": "string",
            "nullable": true
          },
          "passTypeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeId": {
            "type": "string",
            "nullable": true
          },
          "passAttributeValue": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventOnSiteLabelCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "template": {
            "type": "object",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ]
      },
      "EventOnSiteLabelUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "template": {
            "type": "object",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        }
      },
      "PassAttributesUpdateInputs": {
        "type": "object",
        "properties": {
          "values": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "attributeId": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "attributeId",
                "value"
              ]
            }
          }
        },
        "required": [
          "values"
        ]
      },
      "PassAttributesImportInputs": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "passId": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "attributeId": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "attributeId",
                      "value"
                    ]
                  }
                }
              },
              "required": [
                "passId",
                "values"
              ]
            }
          }
        },
        "required": [
          "rows"
        ]
      },
      "PassResponsesImportInputs": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "passId": {
                  "type": "string"
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {
                      "questionId": {
                        "type": "string"
                      },
                      "value": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "questionId",
                      "value"
                    ]
                  }
                }
              },
              "required": [
                "passId",
                "values"
              ]
            }
          }
        },
        "required": [
          "rows"
        ]
      },
      "EventCouponCreateInputs": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "nullable": true
          },
          "discountPercent": {
            "type": "number",
            "nullable": true
          },
          "quantityMin": {
            "type": "number",
            "nullable": true
          },
          "quantityMax": {
            "type": "number",
            "nullable": true
          },
          "amountMin": {
            "type": "number",
            "nullable": true
          },
          "amountMax": {
            "type": "number",
            "nullable": true
          },
          "useLimit": {
            "type": "number",
            "nullable": true
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "managerId": {
            "type": "string",
            "nullable": true
          },
          "applyToPassType": {
            "type": "boolean"
          },
          "applyToAddOns": {
            "type": "boolean"
          },
          "applyToReservation": {
            "type": "boolean"
          },
          "applyToSessions": {
            "type": "boolean"
          }
        },
        "required": [
          "code"
        ]
      },
      "EventCouponUpdateInputs": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "discountAmount": {
            "type": "number",
            "nullable": true
          },
          "discountPercent": {
            "type": "number",
            "nullable": true
          },
          "quantityMin": {
            "type": "number",
            "nullable": true
          },
          "quantityMax": {
            "type": "number",
            "nullable": true
          },
          "useLimit": {
            "type": "number",
            "nullable": true
          },
          "limitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "purchaseLimit": {
            "type": "number",
            "nullable": true
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "registrationId": {
            "type": "string",
            "nullable": true
          },
          "applyToPassType": {
            "type": "boolean"
          },
          "applyToAddOns": {
            "type": "boolean"
          },
          "applyToReservation": {
            "type": "boolean"
          },
          "applyToSessions": {
            "type": "boolean"
          }
        }
      },
      "EventVariantCouponCreateInputs": {
        "type": "object",
        "properties": {
          "quantity": {
            "type": "number"
          }
        }
      },
      "EventVariantCouponSyncInputs": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "EventGroupCouponReminderUpdateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "frequency": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupCouponReminderFrequency"
              }
            ],
            "nullable": true
          }
        }
      },
      "EventFaqSectionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventLocationInputs": {
        "type": "object",
        "properties": {
          "venue": {
            "type": "string",
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventCreateInputs": {
        "type": "object",
        "properties": {
          "eventType": {
            "$ref": "#/components/schemas/EventType"
          },
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "eventStart": {
            "type": "string"
          },
          "eventEnd": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "reservationDescription": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "externalMeetingUrl": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "backgroundImageId": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          },
          "seriesId": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "registrationStart": {
            "type": "string",
            "nullable": true
          },
          "registrationEnd": {
            "type": "string",
            "nullable": true
          },
          "registrationHeaderImageId": {
            "type": "string",
            "nullable": true
          },
          "registrationFooterImageId": {
            "type": "string",
            "nullable": true
          },
          "registrationHideTitle": {
            "type": "boolean"
          },
          "registrationLimit": {
            "type": "number",
            "nullable": true
          },
          "allowMultipleRegistrations": {
            "type": "boolean"
          },
          "allowSplitPayment": {
            "type": "boolean"
          },
          "splitPaymentPercentage": {
            "type": "number"
          },
          "splitPaymentNetDays": {
            "type": "number",
            "nullable": true
          },
          "splitPaymentDueDate": {
            "type": "string",
            "nullable": true
          },
          "publicRegistrants": {
            "type": "boolean"
          },
          "sessionsVisibility": {
            "$ref": "#/components/schemas/EventAgendaVisibility"
          },
          "speakersVisibility": {
            "$ref": "#/components/schemas/EventAgendaVisibility"
          },
          "speakerImageShape": {
            "$ref": "#/components/schemas/ImageShape"
          },
          "iosAppLink": {
            "type": "string",
            "nullable": true
          },
          "androidAppLink": {
            "type": "string",
            "nullable": true
          },
          "newActivityCreatorEmailNotification": {
            "type": "boolean"
          },
          "newActivityCreatorPushNotification": {
            "type": "boolean"
          },
          "streamReplayId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupOnly": {
            "type": "boolean"
          },
          "guestRegistration": {
            "type": "boolean"
          },
          "passSupply": {
            "type": "number",
            "nullable": true
          },
          "passLimitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "roundName": {
            "type": "string",
            "nullable": true
          },
          "matchName": {
            "type": "string",
            "nullable": true
          },
          "activityFeedEnabled": {
            "type": "boolean"
          },
          "options": {
            "type": "object",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "template": {
            "type": "boolean"
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          },
          "activationsDescription": {
            "type": "string",
            "nullable": true
          },
          "activationsLabel": {
            "type": "string"
          },
          "clientTemplate": {
            "type": "boolean"
          },
          "pendingPassNotificationEmails": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "eventType",
          "name",
          "shortDescription",
          "timezone",
          "eventStart",
          "eventEnd"
        ]
      },
      "EventUpdateInputs": {
        "type": "object",
        "properties": {
          "featured": {
            "type": "boolean"
          },
          "visible": {
            "type": "boolean"
          },
          "archived": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "eventType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventType"
              }
            ],
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "internalRefId": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "reservationDescription": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "eventStart": {
            "type": "string",
            "nullable": true
          },
          "eventEnd": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "externalMeetingUrl": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "backgroundImageId": {
            "type": "string",
            "nullable": true
          },
          "creatorId": {
            "type": "string",
            "nullable": true
          },
          "seriesId": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "registrationStart": {
            "type": "string",
            "nullable": true
          },
          "registrationEnd": {
            "type": "string",
            "nullable": true
          },
          "registrationHeaderImageId": {
            "type": "string",
            "nullable": true
          },
          "registrationFooterImageId": {
            "type": "string",
            "nullable": true
          },
          "registrationHideTitle": {
            "type": "boolean"
          },
          "registrationLimit": {
            "type": "number",
            "nullable": true
          },
          "allowMultipleRegistrations": {
            "type": "boolean"
          },
          "allowSplitPayment": {
            "type": "boolean"
          },
          "splitPaymentPercentage": {
            "type": "number"
          },
          "splitPaymentNetDays": {
            "type": "number",
            "nullable": true
          },
          "splitPaymentDueDate": {
            "type": "string",
            "nullable": true
          },
          "publicRegistrants": {
            "type": "boolean"
          },
          "sessionsVisibility": {
            "$ref": "#/components/schemas/EventAgendaVisibility"
          },
          "speakersVisibility": {
            "$ref": "#/components/schemas/EventAgendaVisibility"
          },
          "speakerImageShape": {
            "$ref": "#/components/schemas/ImageShape"
          },
          "inviteOnly": {
            "type": "boolean"
          },
          "iosAppLink": {
            "type": "string",
            "nullable": true
          },
          "androidAppLink": {
            "type": "string",
            "nullable": true
          },
          "newActivityCreatorEmailNotification": {
            "type": "boolean"
          },
          "newActivityCreatorPushNotification": {
            "type": "boolean"
          },
          "streamReplayId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "groupOnly": {
            "type": "boolean"
          },
          "guestRegistration": {
            "type": "boolean"
          },
          "passSupply": {
            "type": "number",
            "nullable": true
          },
          "passLimitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "roundName": {
            "type": "string",
            "nullable": true
          },
          "matchName": {
            "type": "string",
            "nullable": true
          },
          "activityFeedEnabled": {
            "type": "boolean"
          },
          "options": {
            "type": "object",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          },
          "activationsDescription": {
            "type": "string",
            "nullable": true
          },
          "activationsLabel": {
            "type": "string"
          },
          "clientTemplate": {
            "type": "boolean"
          },
          "pendingPassNotificationEmails": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventEmailUpdateInputs": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "calendarFile": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "EventEmailTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventFaqSectionQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          },
          "answer": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          }
        },
        "required": [
          "question"
        ]
      },
      "EventFaqSectionQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "nullable": true
          },
          "answer": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventFaqSectionQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "answer": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          }
        }
      },
      "EventFaqSectionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventFaqSectionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventPageCreateInputs": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string"
          },
          "active": {
            "type": "boolean"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "title"
        ]
      },
      "EventPageTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventPageUpdateInputs": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventPassCreateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PurchaseStatus"
              }
            ],
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "usedAt": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventPassUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PurchaseStatus"
              }
            ],
            "nullable": true
          },
          "location": {
            "type": "string",
            "nullable": true
          },
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "couponId": {
            "type": "string",
            "nullable": true
          },
          "usedAt": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRegistrationCreateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          }
        },
        "required": [
          "accountId"
        ]
      },
      "EventRegistrationUpdateInputs": {
        "type": "object",
        "properties": {}
      },
      "EventRegistrationBypassCreateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "closed": {
            "type": "boolean"
          },
          "preRegister": {
            "type": "boolean"
          },
          "postRegister": {
            "type": "boolean"
          }
        },
        "required": [
          "accountId"
        ]
      },
      "SeriesRegistrationCreateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          }
        },
        "required": [
          "accountId"
        ]
      },
      "SeriesRegistrationUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          }
        }
      },
      "SeriesRegistrationResponsesUpdateInputs": {
        "type": "object",
        "properties": {
          "responses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "questionId": {
                  "type": "string"
                },
                "value": {
                  "type": "string"
                }
              },
              "required": [
                "questionId",
                "value"
              ]
            }
          }
        },
        "required": [
          "responses"
        ]
      },
      "SeriesQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/SeriesQuestionType"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "SeriesQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SeriesQuestionType"
              }
            ],
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "choices": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseSeriesQuestionChoice"
                }
              }
            ]
          }
        }
      },
      "SeriesQuestionChoiceCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "SeriesQuestionChoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "SeriesQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRegistrationBypassUpdateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "closed": {
            "type": "boolean"
          },
          "preRegister": {
            "type": "boolean"
          },
          "postRegister": {
            "type": "boolean"
          }
        }
      },
      "EventSessionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          },
          "registrationEnd": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "nonSession": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "visibility": {
            "$ref": "#/components/schemas/EventSessionVisibility"
          },
          "featured": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "registrationEnabled": {
            "type": "boolean"
          },
          "onsiteRegistration": {
            "type": "boolean"
          },
          "skipOnsiteValidations": {
            "type": "boolean"
          },
          "allowQuickRegister": {
            "type": "boolean"
          },
          "limit": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "autoRefundEnabled": {
            "type": "boolean"
          },
          "autoRefundPercentage": {
            "type": "number",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "roundName": {
            "type": "string",
            "nullable": true
          },
          "matchName": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "activationId": {
            "type": "string",
            "nullable": true
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          }
        },
        "required": [
          "name",
          "startTime",
          "endTime"
        ]
      },
      "EventSessionAccessUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          }
        }
      },
      "EventSessionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionCloneOptions": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          }
        }
      },
      "EventSessionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "nullable": true
          },
          "endTime": {
            "type": "string",
            "nullable": true
          },
          "registrationEnd": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "nonSession": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "visibility": {
            "$ref": "#/components/schemas/EventSessionVisibility"
          },
          "featured": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "registrationEnabled": {
            "type": "boolean"
          },
          "onsiteRegistration": {
            "type": "boolean"
          },
          "skipOnsiteValidations": {
            "type": "boolean"
          },
          "allowQuickRegister": {
            "type": "boolean"
          },
          "limit": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "autoRefundEnabled": {
            "type": "boolean"
          },
          "autoRefundPercentage": {
            "type": "number",
            "nullable": true
          },
          "locationId": {
            "type": "string",
            "nullable": true
          },
          "roundName": {
            "type": "string",
            "nullable": true
          },
          "matchName": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "activationId": {
            "type": "string",
            "nullable": true
          },
          "continuousScanning": {
            "type": "boolean"
          },
          "scanType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OnSiteScanType"
              }
            ],
            "nullable": true
          }
        }
      },
      "EventSessionLocationCreateInputs": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "room": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventSessionLocationTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionLocationUpdateInputs": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string"
          },
          "room": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "latitude": {
            "type": "number",
            "nullable": true
          },
          "longitude": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventSessionQuestionChoiceCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "EventSessionQuestionChoiceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionQuestionChoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventSessionQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventSessionQuestionType"
              }
            ],
            "nullable": true
          },
          "sectionId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "choiceId": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "EventSessionQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EventSessionQuestionType"
              }
            ],
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionSectionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventSessionSectionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionSectionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventSessionTimeCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "startTime"
        ]
      },
      "EventSessionTimeUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "startTime": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSessionTimeTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventBlockCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "limit": {
            "type": "number"
          },
          "grouped": {
            "type": "boolean"
          },
          "collapsed": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "EventBlockUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "limit": {
            "type": "number"
          },
          "grouped": {
            "type": "boolean"
          },
          "collapsed": {
            "type": "boolean"
          }
        }
      },
      "EventSpeakerCreateInputs": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "isHost": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          }
        },
        "required": [
          "firstName"
        ]
      },
      "EventSpeakerTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSpeakerUpdateInputs": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "company": {
            "type": "string",
            "nullable": true
          },
          "companyBio": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "isHost": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          }
        }
      },
      "PassTypeTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventTrackTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "reservationDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "activationsDescription": {
            "type": "string",
            "nullable": true
          },
          "activationsLabel": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "FileUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/FileSource"
          },
          "public": {
            "type": "boolean"
          }
        }
      },
      "GroupCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "featured": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupAccess"
              }
            ],
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "description"
        ]
      },
      "GroupMembershipUpdateInputs": {
        "type": "object",
        "properties": {
          "announcementEmailNotification": {
            "type": "boolean"
          },
          "announcementPushNotification": {
            "type": "boolean"
          },
          "activityEmailNotification": {
            "type": "boolean"
          },
          "activityPushNotification": {
            "type": "boolean"
          },
          "eventEmailNotification": {
            "type": "boolean"
          },
          "eventPushNotification": {
            "type": "boolean"
          },
          "chatPushNotification": {
            "type": "boolean"
          }
        }
      },
      "OrganizationMembershipUpdateInputs": {
        "type": "object",
        "properties": {
          "org": {
            "type": "object"
          },
          "users": {
            "type": "object"
          },
          "reports": {
            "type": "object"
          },
          "dashboards": {
            "type": "object"
          },
          "logs": {
            "type": "object"
          },
          "activities": {
            "type": "object"
          },
          "events": {
            "type": "object"
          },
          "attendees": {
            "type": "object"
          },
          "bookings": {
            "type": "object"
          },
          "groups": {
            "type": "object"
          },
          "accounts": {
            "type": "object"
          },
          "tiers": {
            "type": "object"
          },
          "channels": {
            "type": "object"
          },
          "contents": {
            "type": "object"
          },
          "threads": {
            "type": "object"
          },
          "storage": {
            "type": "object"
          },
          "support": {
            "type": "object"
          },
          "sponsors": {
            "type": "object"
          },
          "benefits": {
            "type": "object"
          },
          "interests": {
            "type": "object"
          },
          "advertisements": {
            "type": "object"
          },
          "invoices": {
            "type": "object"
          },
          "announcements": {
            "type": "object"
          },
          "surveys": {
            "type": "object"
          },
          "streams": {
            "type": "object"
          },
          "meetings": {
            "type": "object"
          },
          "payments": {
            "type": "object"
          }
        },
        "required": [
          "org",
          "users",
          "reports",
          "dashboards",
          "logs",
          "activities",
          "events",
          "attendees",
          "bookings",
          "groups",
          "accounts",
          "tiers",
          "channels",
          "contents",
          "threads",
          "storage",
          "support",
          "sponsors",
          "benefits",
          "interests",
          "advertisements",
          "invoices",
          "announcements",
          "surveys",
          "streams",
          "meetings",
          "payments"
        ]
      },
      "AdminNotificationPreferencesUpdateInputs": {
        "type": "object",
        "properties": {
          "supportTicketMessageAdmin": {
            "type": "boolean"
          },
          "supportTicketMessageEmail": {
            "type": "boolean"
          },
          "supportTicketAssignedAdmin": {
            "type": "boolean"
          },
          "supportTicketAssignedEmail": {
            "type": "boolean"
          },
          "supportTicketCreatedAdmin": {
            "type": "boolean"
          },
          "supportTicketCreatedEmail": {
            "type": "boolean"
          }
        }
      },
      "GroupTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "GroupUpdateInputs": {
        "type": "object",
        "properties": {
          "featured": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "active": {
            "type": "boolean"
          },
          "access": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GroupAccess"
              }
            ],
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "squareImageId": {
            "type": "string",
            "nullable": true
          },
          "externalUrl": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ImageDirectUploadInputs": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "admin"
            ]
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "UserImageUpdateInputs": {
        "type": "object",
        "properties": {
          "imageDataUri": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ]
          },
          "userId": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ]
          }
        }
      },
      "ImageUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "$ref": "#/components/schemas/ImageType"
          }
        }
      },
      "InterestCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "InterestUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          }
        }
      },
      "InvoiceCreateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "dueDate": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "title",
          "dueDate"
        ]
      },
      "InvoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "dueDate": {
            "type": "string",
            "nullable": true
          },
          "notes": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "InvoiceLineItemCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          },
          "amount": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        },
        "required": [
          "name",
          "description",
          "quantity",
          "amount"
        ]
      },
      "InvoiceLineItemUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "quantity": {
            "type": "number",
            "nullable": true
          },
          "amount": {
            "type": "number",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        }
      },
      "LeadCreateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/LeadStatus"
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "LeadUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/LeadStatus"
          },
          "note": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "NotificationPreferencesCreateInputs": {
        "type": "object",
        "properties": {}
      },
      "NotificationPreferencesUpdateInputs": {
        "type": "object",
        "properties": {}
      },
      "OrganizationPageCreateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "title"
        ]
      },
      "OrganizationPageTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationPageUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "html": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationUpdateInputs": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "timezone": {
            "type": "string",
            "nullable": true
          },
          "website": {
            "type": "string",
            "nullable": true
          },
          "privacyPolicyLink": {
            "type": "string",
            "nullable": true
          },
          "primaryColor": {
            "type": "string",
            "nullable": true
          },
          "secondaryColor": {
            "type": "string",
            "nullable": true
          },
          "darkPrimaryColor": {
            "type": "string",
            "nullable": true
          },
          "darkSecondaryColor": {
            "type": "string",
            "nullable": true
          },
          "clientTheme": {
            "type": "string",
            "nullable": true
          },
          "appName": {
            "type": "string",
            "nullable": true
          },
          "logoId": {
            "type": "string",
            "nullable": true
          },
          "darkLogoId": {
            "type": "string",
            "nullable": true
          },
          "iconId": {
            "type": "string",
            "nullable": true
          },
          "darkIconId": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "youtube": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "defaultAuthAction": {
            "$ref": "#/components/schemas/DefaultAuthAction"
          },
          "authLayout": {
            "$ref": "#/components/schemas/AuthLayout"
          },
          "emailAuthEnabled": {
            "type": "boolean"
          },
          "requirePhone": {
            "type": "boolean"
          },
          "requestInternalRefId": {
            "type": "boolean"
          },
          "internalRefIdName": {
            "type": "string",
            "nullable": true
          },
          "iosAppLink": {
            "type": "string",
            "nullable": true
          },
          "androidAppLink": {
            "type": "string",
            "nullable": true
          },
          "appIconId": {
            "type": "string",
            "nullable": true
          },
          "appAdaptiveIconId": {
            "type": "string",
            "nullable": true
          },
          "appSplashScreenId": {
            "type": "string",
            "nullable": true
          },
          "appSplashScreenColor": {
            "type": "string",
            "nullable": true
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "locales": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "inviteOnly": {
            "type": "boolean"
          },
          "googleTagManagerId": {
            "type": "string",
            "nullable": true
          },
          "googleMapsApiKey": {
            "type": "string",
            "nullable": true
          },
          "turnstileSiteKey": {
            "type": "string",
            "nullable": true
          },
          "turnstileSecretKey": {
            "type": "string",
            "nullable": true
          },
          "appleMerchantIdDomainAssociation": {
            "type": "string",
            "nullable": true
          },
          "googleMerchantId": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "object",
            "nullable": true
          },
          "modulesOrder": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ModulesOrder"
            }
          }
        }
      },
      "OrganizationModuleSettingsUpdateInputs": {
        "type": "object",
        "properties": {
          "meetingGroupCallAdminPreset": {
            "type": "string"
          },
          "meetingGroupCallGuestPreset": {
            "type": "string"
          },
          "meetingWebinarAdminPreset": {
            "type": "string"
          },
          "meetingWebinarGuestPreset": {
            "type": "string"
          },
          "meetingLivestreamAdminPreset": {
            "type": "string"
          },
          "meetingLivestreamGuestPreset": {
            "type": "string"
          },
          "supportAutoResolve": {
            "type": "boolean"
          },
          "supportAutoResolveMessage": {
            "type": "string"
          },
          "eventConfirmationEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventConfirmationEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventCancellationEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventCancellationEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventReminderEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventReminderEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventApprovalEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventApprovalEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventDenialEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventDenialEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventTransferEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventTransferEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventAbandonedRegistrationEmailReplyTo": {
            "type": "string",
            "nullable": true
          },
          "eventAbandonedRegistrationEmailBody": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationModuleSettingsTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "supportAutoResolveMessage": {
            "type": "string"
          },
          "eventConfirmationEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventCancellationEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventReminderEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventApprovalEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventDenialEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventTransferEmailBody": {
            "type": "string",
            "nullable": true
          },
          "eventAbandonedRegistrationEmailBody": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationLanguageOverrideUpsertInputs": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string"
          },
          "values": {
            "type": "object",
            "additionalProperties": true
          }
        },
        "required": [
          "key",
          "values"
        ]
      },
      "PaymentIntentPurchaseMetadataInputs": {
        "type": "object",
        "properties": {}
      },
      "PushDeviceCreateInputs": {
        "type": "object",
        "properties": {}
      },
      "PushDeviceUpdateInputs": {
        "type": "object",
        "properties": {}
      },
      "EventQuestionChoiceCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "EventQuestionChoiceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventQuestionChoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RegistrationQuestionType"
              }
            ],
            "nullable": true
          },
          "sectionId": {
            "type": "string"
          },
          "followupId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "choiceId": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "EventQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RegistrationQuestionType"
              }
            ],
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "unique": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CustomReportCreateInputs": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ReportFilters"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "description": {
                "type": "string",
                "nullable": true
              },
              "gridState": {
                "type": "string",
                "nullable": true
              },
              "shared": {
                "type": "boolean"
              }
            },
            "required": [
              "name"
            ]
          }
        ]
      },
      "CustomReportExportInputs": {
        "type": "object",
        "properties": {
          "email": {
            "type": "string"
          }
        },
        "required": [
          "email"
        ]
      },
      "CustomReportUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "gridState": {
            "type": "string",
            "nullable": true
          },
          "shared": {
            "type": "boolean"
          }
        }
      },
      "CustomReportScheduleInputs": {
        "type": "object",
        "properties": {
          "scheduleExpression": {
            "type": "string",
            "nullable": true
          },
          "scheduleTimezone": {
            "type": "string",
            "nullable": true
          },
          "scheduleEmails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        }
      },
      "EventSectionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventSectionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSectionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventFollowupCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventFollowupTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventFollowupUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "SeriesCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "templateId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "featured": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "templateId"
        ]
      },
      "SeriesUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "templateId": {
            "type": "string"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          },
          "registration": {
            "type": "boolean"
          },
          "featured": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SeriesTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "body": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "LevelCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "scale": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "LevelTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "LevelUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "subtitle": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "scale": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "StreamOutputCreateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "streamKey": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "streamKey",
          "url"
        ]
      },
      "SupportTicketCreateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/SupportTicketType"
          },
          "request": {
            "type": "string"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "firstMessage": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "type"
        ]
      },
      "SupportTicketUpdateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/SupportTicketType"
          },
          "request": {
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/SupportTicketState"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "orgMembershipId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SupportTicketNoteCreateInputs": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          }
        },
        "required": [
          "text"
        ]
      },
      "SupportTicketNoteUpdateInputs": {
        "type": "object",
        "properties": {}
      },
      "SupportTicketMessageCreateInputs": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "SupportTicketMessageUpdateInputs": {
        "type": "object",
        "properties": {}
      },
      "TeamCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "username": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "email"
        ]
      },
      "OrganizationTeamMemberCreateInputs": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "nickName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationTeamMemberUpdateInputs": {
        "type": "object",
        "properties": {
          "firstName": {
            "type": "string",
            "nullable": true
          },
          "lastName": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "nickName": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "phone": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "bio": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "linkedIn": {
            "type": "string",
            "nullable": true
          },
          "facebook": {
            "type": "string",
            "nullable": true
          },
          "instagram": {
            "type": "string",
            "nullable": true
          },
          "twitter": {
            "type": "string",
            "nullable": true
          },
          "tikTok": {
            "type": "string",
            "nullable": true
          },
          "discord": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "TeamUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "email": {
            "type": "string",
            "nullable": true
          },
          "username": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ThreadCreateInputs": {
        "type": "object",
        "properties": {
          "accountIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "subject": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "accountIds"
        ]
      },
      "ThreadUpdateInputs": {
        "type": "object",
        "properties": {
          "subject": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "ThreadMessageCreateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "accountId",
          "body",
          "entities"
        ]
      },
      "ThreadMessageUpdateInputs": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string"
          },
          "entities": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        },
        "required": [
          "body",
          "entities"
        ]
      },
      "ThreadAccountUpdateInputs": {
        "type": "object",
        "properties": {
          "notifications": {
            "type": "boolean"
          },
          "blocked": {
            "type": "boolean"
          }
        }
      },
      "ThreadAccountsAddInputs": {
        "type": "object",
        "properties": {
          "accountIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "accountIds"
        ]
      },
      "ThreadMessageReactionCreateInputs": {
        "type": "object",
        "properties": {
          "emojiName": {
            "type": "string"
          }
        },
        "required": [
          "emojiName"
        ]
      },
      "ThreadMessageReactionUpdateInputs": {
        "type": "object",
        "properties": {
          "emojiName": {
            "type": "string"
          }
        }
      },
      "PassTypeCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "shortDescription": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PassTypeVisibility"
              }
            ],
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          },
          "cancelable": {
            "type": "boolean"
          },
          "transferable": {
            "type": "boolean"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "accessLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PassTypeAccessLevel"
              }
            ],
            "nullable": true
          },
          "featuredImageId": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "minQuantityPerSale": {
            "type": "number",
            "nullable": true
          },
          "maxQuantityPerSale": {
            "type": "number",
            "nullable": true
          },
          "limitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "requiredPassTypeId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "enableCoupons": {
            "type": "boolean"
          },
          "groupPassDescription": {
            "type": "string",
            "nullable": true
          },
          "overrideStartDate": {
            "type": "string",
            "nullable": true
          },
          "requireCoupon": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "printable": {
            "type": "boolean"
          },
          "requiresApproval": {
            "type": "boolean"
          },
          "badgeColor": {
            "type": "string"
          }
        },
        "required": [
          "name",
          "shortDescription",
          "price"
        ]
      },
      "PassTypeUpdateInputs": {
        "type": "object",
        "properties": {
          "visibility": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PassTypeVisibility"
              }
            ],
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "active": {
            "type": "boolean"
          },
          "cancelable": {
            "type": "boolean"
          },
          "transferable": {
            "type": "boolean"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "shortDescription": {
            "type": "string",
            "nullable": true
          },
          "longDescription": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "accessLevel": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PassTypeAccessLevel"
              }
            ],
            "nullable": true
          },
          "featuredImageId": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "minQuantityPerSale": {
            "type": "number",
            "nullable": true
          },
          "maxQuantityPerSale": {
            "type": "number",
            "nullable": true
          },
          "limitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "emailDomains": {
            "type": "string",
            "nullable": true
          },
          "requiredPassTypeId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "enableCoupons": {
            "type": "boolean"
          },
          "minCouponQuantity": {
            "type": "number"
          },
          "maxCouponQuantity": {
            "type": "number",
            "nullable": true
          },
          "groupPassDescription": {
            "type": "string",
            "nullable": true
          },
          "overrideStartDate": {
            "type": "string",
            "nullable": true
          },
          "requireCoupon": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "printable": {
            "type": "boolean"
          },
          "requiresApproval": {
            "type": "boolean",
            "nullable": true
          },
          "badgeColor": {
            "type": "string"
          }
        }
      },
      "TierCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "iconName": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "internal": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "exclusionGroup": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "TierUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "iconName": {
            "type": "string",
            "nullable": true
          },
          "priority": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "internal": {
            "type": "boolean"
          },
          "private": {
            "type": "boolean"
          },
          "exclusionGroup": {
            "type": "string",
            "nullable": true
          },
          "archived": {
            "type": "boolean"
          }
        }
      },
      "EventTrackCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventTrackUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "TriggerCreateInputs": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "code"
        ]
      },
      "TriggerUpdateInputs": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "nullable": true
          },
          "enabled": {
            "type": "boolean"
          }
        }
      },
      "UserCreateInputs": {
        "type": "object",
        "properties": {}
      },
      "UserUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "termsAccepted": {
            "type": "boolean"
          }
        }
      },
      "UserApiKeyCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/UserApiKeyScope"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "startDate"
        ]
      },
      "VideoUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "thumbnailPct": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "OrganizationModuleUpdateInputs": {
        "type": "object",
        "properties": {
          "requireAuth": {
            "type": "boolean"
          },
          "enabled": {
            "type": "boolean"
          },
          "editable": {
            "type": "boolean"
          },
          "options": {
            "type": "object",
            "nullable": true
          }
        }
      },
      "PassTypePriceScheduleCreateInputs": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PassTypePriceScheduleUpdateInputs": {
        "type": "object",
        "properties": {
          "ticketId": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number",
            "nullable": true
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PassTypeRefundScheduleCreateInputs": {
        "type": "object",
        "properties": {
          "percentage": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          }
        },
        "required": [
          "percentage",
          "startDate",
          "endDate"
        ]
      },
      "PassTypeRefundScheduleUpdateInputs": {
        "type": "object",
        "properties": {
          "percentage": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "endDate": {
            "type": "string"
          }
        }
      },
      "PassTypeExchangeTargetCreateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "targetPassTypeId": {
            "type": "string"
          },
          "fixedPricing": {
            "type": "boolean"
          },
          "ignoreRefundSchedules": {
            "type": "boolean"
          },
          "amount": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "enabled",
          "targetPassTypeId"
        ]
      },
      "PassTypeExchangeTargetUpdateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "fixedPricing": {
            "type": "boolean"
          },
          "ignoreRefundSchedules": {
            "type": "boolean"
          },
          "amount": {
            "type": "number"
          },
          "startDate": {
            "type": "string",
            "nullable": true
          },
          "endDate": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "IntegrationCreateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/IntegrationType"
          },
          "enabled": {
            "type": "boolean"
          },
          "publicUrl": {
            "type": "string"
          },
          "publicKey": {
            "type": "string"
          },
          "secretKey": {
            "type": "string"
          }
        },
        "required": [
          "type"
        ]
      },
      "IntegrationUpdateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "publicUrl": {
            "type": "string",
            "nullable": true
          },
          "publicKey": {
            "type": "string",
            "nullable": true
          },
          "secretKey": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRoomTypeCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "minPasses": {
            "type": "number",
            "nullable": true
          },
          "maxPasses": {
            "type": "number",
            "nullable": true
          },
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        },
        "required": [
          "name",
          "price"
        ]
      },
      "EventRoomTypeUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "price": {
            "type": "number"
          },
          "pricePerNight": {
            "type": "boolean"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "minPasses": {
            "type": "number",
            "nullable": true
          },
          "maxPasses": {
            "type": "number",
            "nullable": true
          },
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        }
      },
      "RoomCreateInputs": {
        "type": "object",
        "properties": {
          "roomName": {
            "type": "string"
          }
        },
        "required": [
          "roomName"
        ]
      },
      "RoomUpdateInputs": {
        "type": "object",
        "properties": {
          "roomName": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRoomTypeTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRoomTypeReservationCreateInputs": {
        "type": "object",
        "properties": {
          "eventRoomTypeId": {
            "type": "string"
          },
          "passes": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string"
                }
              },
              "required": [
                "id"
              ]
            }
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "roomId": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "eventRoomTypeId"
        ]
      },
      "EventRoomTypeReservationUpdateInputs": {
        "type": "object",
        "properties": {
          "eventRoomTypeId": {
            "type": "string"
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "roomId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRoomTypePassTypeDetailsUpdateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "premium": {
            "type": "number",
            "nullable": true
          },
          "includedNights": {
            "type": "number",
            "nullable": true
          },
          "minPasses": {
            "type": "number",
            "nullable": true
          },
          "maxPasses": {
            "type": "number",
            "nullable": true
          },
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRoomTypeAddOnDetailsUpdateInputs": {
        "type": "object",
        "properties": {
          "minStart": {
            "type": "string",
            "nullable": true
          },
          "defaultStart": {
            "type": "string",
            "nullable": true
          },
          "maxStart": {
            "type": "string",
            "nullable": true
          },
          "minEnd": {
            "type": "string",
            "nullable": true
          },
          "defaultEnd": {
            "type": "string",
            "nullable": true
          },
          "maxEnd": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "TaxIntegrationCreateInputs": {
        "type": "object",
        "properties": {
          "sandbox": {
            "type": "boolean"
          },
          "apiKey": {
            "type": "string"
          },
          "accountId": {
            "type": "string"
          },
          "licenseKey": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          },
          "instanceUrl": {
            "type": "string"
          },
          "companyCode": {
            "type": "string"
          }
        }
      },
      "TaxIntegrationUpdateInputs": {
        "type": "object",
        "properties": {
          "companyCode": {
            "type": "string",
            "nullable": true
          },
          "instanceUrl": {
            "type": "string",
            "nullable": true
          },
          "commit": {
            "type": "boolean"
          },
          "logging": {
            "type": "boolean"
          },
          "passTaxCode": {
            "type": "string",
            "nullable": true
          },
          "packageTaxCode": {
            "type": "string",
            "nullable": true
          },
          "reservationTaxCode": {
            "type": "string",
            "nullable": true
          },
          "addOnTaxCode": {
            "type": "string",
            "nullable": true
          },
          "accessTaxCode": {
            "type": "string",
            "nullable": true
          },
          "invoiceTaxCode": {
            "type": "string",
            "nullable": true
          },
          "bookingTaxCode": {
            "type": "string",
            "nullable": true
          },
          "couponTaxCode": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CloneOptions": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "eventStart": {
            "type": "string"
          },
          "passTypes": {
            "type": "boolean"
          },
          "packages": {
            "type": "boolean"
          },
          "addOns": {
            "type": "boolean"
          },
          "roomTypes": {
            "type": "boolean"
          },
          "questions": {
            "type": "boolean"
          },
          "bypassList": {
            "type": "boolean"
          },
          "coupons": {
            "type": "boolean"
          },
          "followups": {
            "type": "boolean"
          },
          "coHosts": {
            "type": "boolean"
          },
          "emails": {
            "type": "boolean"
          },
          "faqSections": {
            "type": "boolean"
          },
          "pages": {
            "type": "boolean"
          },
          "benefits": {
            "type": "boolean"
          },
          "interests": {
            "type": "boolean"
          },
          "announcements": {
            "type": "boolean"
          },
          "media": {
            "type": "boolean"
          },
          "activations": {
            "type": "boolean"
          },
          "onSite": {
            "type": "boolean"
          },
          "tracks": {
            "type": "boolean"
          },
          "speakers": {
            "type": "boolean"
          },
          "sponsors": {
            "type": "boolean"
          },
          "sponsorshipLevels": {
            "type": "boolean"
          },
          "locations": {
            "type": "boolean"
          },
          "sessions": {
            "type": "boolean"
          },
          "blocks": {
            "type": "boolean"
          },
          "rounds": {
            "type": "boolean"
          },
          "sideEffects": {
            "type": "boolean"
          },
          "advancedSettings": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "eventStart",
          "passTypes",
          "packages",
          "addOns",
          "roomTypes",
          "questions",
          "bypassList",
          "coupons",
          "followups",
          "coHosts",
          "emails",
          "faqSections",
          "pages",
          "benefits",
          "interests",
          "announcements",
          "media",
          "activations",
          "onSite",
          "tracks",
          "speakers",
          "sponsors",
          "sponsorshipLevels",
          "locations",
          "sessions",
          "blocks",
          "rounds",
          "sideEffects",
          "advancedSettings"
        ]
      },
      "SearchListCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "SearchListUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "SearchListValueCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "priority": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "SearchListValueUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "priority": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "AttachSearchListInputs": {
        "type": "object",
        "properties": {
          "searchListId": {
            "type": "string"
          }
        },
        "required": [
          "searchListId"
        ]
      },
      "BookingPlaceCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "timezone"
        ]
      },
      "BookingPlaceUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "timezone": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingPlaceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingSpaceCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "supply": {
            "type": "number"
          },
          "bookingLimitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "slotDuration": {
            "type": "number"
          },
          "price": {
            "type": "number"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "confirmationBody": {
            "type": "string",
            "nullable": true
          },
          "confirmationReplyTo": {
            "type": "string",
            "nullable": true
          },
          "cancellationBody": {
            "type": "string",
            "nullable": true
          },
          "cancellationReplyTo": {
            "type": "string",
            "nullable": true
          },
          "reminderBody": {
            "type": "string",
            "nullable": true
          },
          "reminderReplyTo": {
            "type": "string",
            "nullable": true
          },
          "reminderEnabled": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "joinBeforeTime": {
            "type": "number",
            "nullable": true
          },
          "timezone": {
            "type": "string"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "placeId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name",
          "supply",
          "slotDuration"
        ]
      },
      "BookingSpaceUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "supply": {
            "type": "number"
          },
          "bookingLimitPerAccount": {
            "type": "number",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "start": {
            "type": "string",
            "nullable": true
          },
          "end": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "visible": {
            "type": "boolean"
          },
          "confirmationBody": {
            "type": "string",
            "nullable": true
          },
          "confirmationReplyTo": {
            "type": "string",
            "nullable": true
          },
          "cancellationBody": {
            "type": "string",
            "nullable": true
          },
          "cancellationReplyTo": {
            "type": "string",
            "nullable": true
          },
          "reminderBody": {
            "type": "string",
            "nullable": true
          },
          "reminderReplyTo": {
            "type": "string",
            "nullable": true
          },
          "reminderEnabled": {
            "type": "boolean"
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "joinBeforeTime": {
            "type": "number",
            "nullable": true
          },
          "timezone": {
            "type": "string"
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          },
          "placeId": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "entityId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingSpaceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "confirmationBody": {
            "type": "string",
            "nullable": true
          },
          "cancellationBody": {
            "type": "string",
            "nullable": true
          },
          "reminderBody": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingSpaceAvailabilityCreateInputs": {
        "type": "object",
        "properties": {
          "dayOfWeek": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          }
        },
        "required": [
          "dayOfWeek",
          "startTime",
          "endTime"
        ]
      },
      "BookingSpaceAvailabilityUpdateInputs": {
        "type": "object",
        "properties": {
          "dayOfWeek": {
            "type": "string"
          },
          "startTime": {
            "type": "string"
          },
          "endTime": {
            "type": "string"
          }
        }
      },
      "BookingSpaceBlackoutCreateInputs": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "BookingSpaceBlackoutUpdateInputs": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          }
        }
      },
      "UpdateBookingResponsesInputs": {
        "type": "object",
        "properties": {
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Question"
            }
          }
        },
        "required": [
          "questions"
        ]
      },
      "BookingSpaceQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BookingSpaceQuestionType"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "BookingSpaceQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BookingSpaceQuestionType"
              }
            ],
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "choices": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/BaseBookingSpaceQuestionChoice"
                }
              }
            ]
          }
        }
      },
      "BookingSpaceQuestionChoiceCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "BookingSpaceQuestionChoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "BookingSpaceQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingSpaceQuestionChoiceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "BookingCreateInputs": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "string"
          },
          "day": {
            "type": "string"
          },
          "time": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          }
        },
        "required": [
          "accountId",
          "day",
          "time"
        ]
      },
      "BookingUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "day": {
            "type": "string"
          },
          "time": {
            "type": "string"
          }
        }
      },
      "UpdateEventPassResponseInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          }
        },
        "required": [
          "value"
        ]
      },
      "UpdateEventPassResponsesInputs": {
        "type": "object",
        "properties": {
          "questions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Question"
            }
          }
        },
        "required": [
          "questions"
        ]
      },
      "DashboardCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "eventId": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "DashboardUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        }
      },
      "DashboardWidgetCreateInputs": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "w": {
            "type": "number"
          },
          "h": {
            "type": "number"
          }
        },
        "required": [
          "x",
          "y",
          "w",
          "h"
        ]
      },
      "DashboardWidgetUpdateInputs": {
        "type": "object",
        "properties": {
          "x": {
            "type": "number"
          },
          "y": {
            "type": "number"
          },
          "w": {
            "type": "number"
          },
          "h": {
            "type": "number"
          }
        }
      },
      "SurveyCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SurveyStatus"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "requireAuth": {
            "type": "boolean"
          },
          "requireCheckIn": {
            "type": "boolean"
          },
          "submissionsPerAccount": {
            "type": "number"
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "emailBody": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "activationId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "SurveyUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/SurveyStatus"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "requireAuth": {
            "type": "boolean"
          },
          "requireCheckIn": {
            "type": "boolean"
          },
          "submissionsPerAccount": {
            "type": "number"
          },
          "replyTo": {
            "type": "string",
            "nullable": true
          },
          "emailBody": {
            "type": "string",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "activationId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveyTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "emailBody": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveySubmissionUpdateInputs": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "passId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveyQuestionChoiceCreateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "value"
        ]
      },
      "SurveyQuestionChoiceTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveyQuestionChoiceUpdateInputs": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "nullable": true
          },
          "text": {
            "type": "string",
            "nullable": true
          },
          "supply": {
            "type": "number",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "SurveyQuestionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SurveyQuestionType"
              }
            ],
            "nullable": true
          },
          "sectionId": {
            "type": "string"
          },
          "questionId": {
            "type": "string"
          },
          "choiceId": {
            "type": "string"
          },
          "matrixQuestionId": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "choices": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "matrixRows": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "matrixRowsType": {
            "type": "string",
            "enum": [
              "radio",
              "checkbox"
            ]
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "SurveyQuestionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveyQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SurveyQuestionType"
              }
            ],
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "label": {
            "type": "string",
            "nullable": true
          },
          "placeholder": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "default": {
            "type": "string",
            "nullable": true
          },
          "dashboardVisibility": {
            "type": "boolean"
          },
          "span": {
            "type": "number",
            "nullable": true
          },
          "mutable": {
            "type": "boolean"
          },
          "min": {
            "type": "string",
            "nullable": true
          },
          "max": {
            "type": "string",
            "nullable": true
          },
          "masked": {
            "type": "boolean"
          },
          "validation": {
            "type": "string",
            "nullable": true
          },
          "validationMessage": {
            "type": "string",
            "nullable": true
          },
          "locationOption": {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocationQuestionOption"
              }
            ],
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "featured": {
            "type": "boolean"
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "matrixRowsType": {
            "type": "string",
            "enum": [
              "radio",
              "checkbox"
            ]
          }
        }
      },
      "SurveySectionCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "SurveySectionTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "SurveySectionUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "guestDescription": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "EventPackageCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        },
        "required": [
          "name",
          "price"
        ]
      },
      "EventPackageUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "price": {
            "type": "number"
          },
          "isActive": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "taxCode": {
            "type": "string",
            "nullable": true
          },
          "taxIncluded": {
            "type": "boolean"
          },
          "taxLocation": {
            "$ref": "#/components/schemas/TaxLocationType"
          }
        }
      },
      "EventPackagePassCreateInputs": {
        "type": "object",
        "properties": {
          "passTypeId": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          }
        },
        "required": [
          "passTypeId",
          "quantity"
        ]
      },
      "EventPackagePassUpdateInputs": {
        "type": "object",
        "properties": {
          "passTypeId": {
            "type": "string"
          },
          "quantity": {
            "type": "number"
          }
        }
      },
      "AttendeeEventPackageCreateInputs": {
        "type": "object",
        "properties": {
          "packageId": {
            "type": "string"
          },
          "attendeeId": {
            "type": "string"
          }
        },
        "required": [
          "packageId",
          "attendeeId"
        ]
      },
      "AttendeeEventPackageUpdateInputs": {
        "type": "object",
        "properties": {
          "packageId": {
            "type": "string"
          },
          "attendeeId": {
            "type": "string"
          }
        }
      },
      "EventPackageTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventMediaItemCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "videoId": {
            "type": "string",
            "nullable": true
          },
          "fileId": {
            "type": "string",
            "nullable": true
          },
          "mediaInteractionsEnabled": {
            "type": "boolean"
          }
        }
      },
      "EventMediaItemUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "mediaInteractionsEnabled": {
            "type": "boolean"
          }
        }
      },
      "EventMediaItemTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSponsorshipLevelCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string",
            "nullable": true
          },
          "sponsorsPerRow": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "name"
        ]
      },
      "EventSponsorshipLevelUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "sponsorsPerRow": {
            "type": "number"
          },
          "sortOrder": {
            "type": "number"
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSponsorshipLevelTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventSponsorshipCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        },
        "required": [
          "name"
        ]
      },
      "EventSponsorshipUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "accountId": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number"
          }
        }
      },
      "EventSponsorshipTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "PaymentUpdateInputs": {
        "type": "object",
        "properties": {
          "captured": {
            "type": "boolean"
          },
          "registrationId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "CustomModuleCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "iconName": {
            "type": "string"
          },
          "color": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        },
        "required": [
          "name",
          "url",
          "iconName",
          "color"
        ]
      },
      "CustomModuleUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "iconName": {
            "type": "string",
            "nullable": true
          },
          "position": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CustomModulePosition"
              }
            ],
            "nullable": true
          },
          "color": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          }
        }
      },
      "CustomModuleTranslationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "MatchUpdateInputs": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "EventRegistrationPackageCreateInputs": {
        "type": "object",
        "properties": {
          "packageId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          }
        },
        "required": [
          "packageId"
        ]
      },
      "EventRegistrationPackageUpdateInputs": {
        "type": "object",
        "properties": {
          "packageId": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/PurchaseStatus"
          }
        }
      },
      "AccountAttributeCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/AccountAttributeType"
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "adminOnly": {
            "type": "boolean"
          },
          "editable": {
            "type": "boolean"
          },
          "public": {
            "type": "boolean"
          },
          "subline": {
            "type": "boolean"
          },
          "includedInDashboards": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "locationOption": {
            "$ref": "#/components/schemas/LocationQuestionOption"
          }
        },
        "required": [
          "name",
          "label",
          "type"
        ]
      },
      "AccountAttributeUpdateInputs": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "required": {
            "type": "boolean"
          },
          "adminOnly": {
            "type": "boolean"
          },
          "editable": {
            "type": "boolean"
          },
          "public": {
            "type": "boolean"
          },
          "subline": {
            "type": "boolean"
          },
          "includedInDashboards": {
            "type": "boolean"
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "searchListId": {
            "type": "string",
            "nullable": true
          },
          "options": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "locationOption": {
            "$ref": "#/components/schemas/LocationQuestionOption"
          }
        }
      },
      "WebhookCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "url": {
            "type": "string"
          },
          "secret": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "secret"
        ]
      },
      "WebhookUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "RoundEventQuestionUpdataInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/MatchQuestionType"
          }
        },
        "required": [
          "type"
        ]
      },
      "RoundSessionQuestionUpdateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/MatchQuestionType"
          }
        },
        "required": [
          "type"
        ]
      },
      "MeetingCreateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/MeetingType"
          },
          "eventId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "activityId": {
            "type": "string"
          },
          "bookingSpaceId": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "preferred_region": {
            "type": "string",
            "enum": [
              "ap-south-1",
              "ap-southeast-1",
              "us-east-1",
              "eu-central-1"
            ],
            "nullable": true
          },
          "record_on_start": {
            "type": "boolean"
          },
          "live_stream_on_start": {
            "type": "boolean"
          },
          "persist_chat": {
            "type": "boolean"
          },
          "summarize_on_end": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "title",
          "preferred_region",
          "record_on_start",
          "live_stream_on_start",
          "persist_chat",
          "summarize_on_end"
        ]
      },
      "MeetingUpdateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/MeetingType"
          },
          "eventId": {
            "type": "string"
          },
          "sessionId": {
            "type": "string"
          },
          "groupId": {
            "type": "string"
          },
          "activityId": {
            "type": "string"
          },
          "bookingSpaceId": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "preferred_region": {
            "type": "string",
            "enum": [
              "ap-south-1",
              "ap-southeast-1",
              "us-east-1",
              "eu-central-1"
            ],
            "nullable": true
          },
          "record_on_start": {
            "type": "boolean"
          },
          "live_stream_on_start": {
            "type": "boolean"
          },
          "status": {
            "type": "string",
            "enum": [
              "ACTIVE",
              "INACTIVE"
            ]
          },
          "persist_chat": {
            "type": "boolean"
          },
          "summarize_on_end": {
            "type": "boolean"
          }
        }
      },
      "MeetingParticipantCreateInputs": {
        "type": "object",
        "properties": {
          "custom_participant_id": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "picture": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "custom_participant_id"
        ]
      },
      "MeetingParticipantUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          },
          "picture": {
            "type": "string",
            "nullable": true
          },
          "preset_name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "MeetingRecordingCreateInputs": {
        "type": "object",
        "properties": {
          "max_seconds": {
            "type": "number"
          },
          "file_name_prefix": {
            "type": "string"
          },
          "allow_multiple_recordings": {
            "type": "boolean"
          },
          "video_codec": {
            "type": "string"
          },
          "video_width": {
            "type": "number"
          },
          "video_height": {
            "type": "number"
          },
          "video_export_file": {
            "type": "boolean"
          },
          "watermark_url": {
            "type": "string"
          },
          "watermark_size_width": {
            "type": "number"
          },
          "watermark_size_height": {
            "type": "number"
          },
          "watermark_position": {
            "type": "string"
          },
          "audio_codec": {
            "type": "string"
          },
          "audio_channel": {
            "type": "string"
          },
          "audio_export_file": {
            "type": "boolean"
          },
          "realtimekit_bucket_enabled": {
            "type": "boolean"
          },
          "interactive_type": {
            "type": "string"
          }
        }
      },
      "MeetingRecordingUpdateInputs": {
        "type": "object",
        "properties": {
          "action": {
            "type": "string",
            "enum": [
              "stop",
              "pause",
              "resume"
            ]
          }
        },
        "required": [
          "action"
        ]
      },
      "MeetingPresetCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ]
      },
      "MeetingLinkCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "preset_name": {
            "type": "string"
          },
          "requireAuth": {
            "type": "boolean"
          }
        },
        "required": [
          "name",
          "preset_name",
          "requireAuth"
        ]
      },
      "MeetingLinkUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "preset_name": {
            "type": "string"
          },
          "requireAuth": {
            "type": "boolean"
          }
        }
      },
      "MeetingPresetUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "StreamInputCreateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "activityId": {
            "type": "string",
            "nullable": true
          },
          "details": {
            "type": "object",
            "nullable": true
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "public": {
            "type": "boolean"
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "webRTC": {
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ]
      },
      "StreamInputUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "sortOrder": {
            "type": "number",
            "nullable": true
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "sessionId": {
            "type": "string",
            "nullable": true
          },
          "groupId": {
            "type": "string",
            "nullable": true
          },
          "meetingId": {
            "type": "string",
            "nullable": true
          },
          "activityId": {
            "type": "string",
            "nullable": true
          },
          "connected": {
            "type": "boolean"
          },
          "imageId": {
            "type": "string",
            "nullable": true
          },
          "public": {
            "type": "boolean"
          },
          "locale": {
            "type": "string",
            "nullable": true
          },
          "webRTC": {
            "type": "boolean"
          }
        }
      },
      "StreamInputOutputCreateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "url": {
            "type": "string"
          },
          "streamKey": {
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "url",
          "streamKey"
        ]
      },
      "StreamInputOutputUpdateInputs": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "OrganizationPaymentIntegrationCreateInputs": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/PaymentIntegrationType"
          },
          "name": {
            "type": "string"
          },
          "currencyCode": {
            "type": "string"
          },
          "clientId": {
            "type": "string"
          },
          "merchantAccountId": {
            "type": "string"
          },
          "clientPublicKey": {
            "type": "string"
          },
          "clientSecret": {
            "type": "string"
          }
        },
        "required": [
          "type",
          "name",
          "currencyCode"
        ]
      },
      "OrganizationPaymentIntegrationUpdateInputs": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "OrganizationEntityCreateInputs": {
        "type": "object",
        "properties": {
          "legalName": {
            "type": "string"
          },
          "tradingName": {
            "type": "string",
            "nullable": true
          },
          "companyNumber": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string"
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string"
          },
          "zip": {
            "type": "string"
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "companyCode": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          }
        },
        "required": [
          "legalName",
          "address1",
          "city",
          "country",
          "zip"
        ]
      },
      "OrganizationEntityUpdateInputs": {
        "type": "object",
        "properties": {
          "legalName": {
            "type": "string",
            "nullable": true
          },
          "tradingName": {
            "type": "string",
            "nullable": true
          },
          "companyNumber": {
            "type": "string",
            "nullable": true
          },
          "address1": {
            "type": "string",
            "nullable": true
          },
          "address2": {
            "type": "string",
            "nullable": true
          },
          "city": {
            "type": "string",
            "nullable": true
          },
          "state": {
            "type": "string",
            "nullable": true
          },
          "country": {
            "type": "string",
            "nullable": true
          },
          "zip": {
            "type": "string",
            "nullable": true
          },
          "vatNumber": {
            "type": "string",
            "nullable": true
          },
          "vatCountry": {
            "type": "string",
            "nullable": true
          },
          "companyCode": {
            "type": "string",
            "nullable": true
          },
          "paymentIntegrationId": {
            "type": "string",
            "nullable": true
          }
        }
      },
      "NotificationFilters": {
        "type": "object",
        "properties": {
          "read": {
            "type": "boolean"
          },
          "source": {
            "$ref": "#/components/schemas/AdminNotificationSource"
          },
          "type": {
            "$ref": "#/components/schemas/AdminNotificationType"
          }
        }
      },
      "MarkNotificationsReadInputs": {
        "type": "object",
        "properties": {
          "notificationIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "notificationIds"
        ]
      },
      "DeleteManyImagesInput": {
        "type": "object",
        "properties": {
          "imageIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "imageIds"
        ]
      },
      "DeleteManyVideosInput": {
        "type": "object",
        "properties": {
          "videoIds": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "videoIds"
        ]
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": [],
      "OrganizationId": []
    }
  ]
}