{
  "openapi": "3.1.0",
  "info": {
    "title": "GitBook API",
    "description": "The GitBook API",
    "termsOfService": "https://policies.gitbook.com",
    "contact": {
      "name": "API Support",
      "url": "https://gitbook.com/support",
      "email": "support@gitbook.com"
    },
    "version": "0.0.1-beta"
  },
  "servers": [
    {
      "url": "{host}/v1",
      "variables": {
        "host": {
          "default": "https://api.gitbook.com"
        }
      }
    }
  ],
  "security": [
    {
      "user": []
    },
    {
      "user-internal": []
    },
    {
      "user-staff": []
    },
    {
      "user-internal-or-staff": []
    },
    {
      "integration": []
    },
    {
      "integration-installation": []
    }
  ],
  "tags": [
    {
      "name": "organizations",
      "x-page-icon": "building",
      "x-page-title": "Organizations",
      "x-page-description": "Manage your organizations and group your members, spaces, and resources under one collaborative structure.",
      "description": "The Organizations API provides a robust way to handle the administrative structure of your GitBook workspace. By creating and configuring organizations, you can group multiple users, spaces, and collections, simplifying your permission management and fostering efficient collaboration for teams of any size.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Organization\" grouped=\"false\" %}\n    The Organization object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "organization-members",
      "x-page-title": "Organization members",
      "x-page-description": "Handle all aspects of membership within an organization, from listing to role management.",
      "x-parent": "organizations",
      "description": "Organization members can be managed through this API, which lets you invite and manage users under a particular organization. You can define roles and permissions to ensure your team has the right level of access.\n"
    },
    {
      "name": "organization-invites",
      "x-page-title": "Organization invites",
      "x-page-description": "Streamline the invitation process for new members joining your organization.",
      "x-parent": "organizations",
      "description": "Use this API to create and revoke invitations for new members. By automating invite flows, you can maintain a cohesive onboarding experience for collaborators and speed up team expansion.\n"
    },
    {
      "name": "organization-ask",
      "x-page-title": "Organization AI ask",
      "x-page-description": "Unlock AI-driven answers for your organization's content and data.",
      "x-parent": "organizations",
      "description": "Enhance your team's knowledge base with the Organization AI ask endpoint, which allows you to query AI models trained on your organization's GitBook content for quick, intelligent responses.\n"
    },
    {
      "name": "sites",
      "x-page-icon": "globe",
      "x-page-title": "Docs sites",
      "x-page-description": "Manage your published docs sites.",
      "description": "The Docs Sites API lets you programmatically manage published documentation sites within your organization. You can list and update all sites created under a specific organization, making it easy to audit or interact with site metadata at scale.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Site\" grouped=\"false\" %}\n    The Site object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-share-links",
      "x-page-title": "Site share links",
      "x-page-description": "Control how you share docs externally by managing share links for a site.",
      "x-parent": "sites",
      "description": "Manage the lifecycle of share links for your published sites. This includes generating new links for external sharing and revoking or updating existing ones.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ShareLink\" grouped=\"false\" %}\n    The ShareLink object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-structure",
      "x-page-title": "Site structure",
      "x-page-description": "Retrieve and manipulate the entire hierarchical layout of a site.",
      "x-parent": "sites",
      "description": "Provides a complete overview of how content is organized on a site. With this API, you can discover page nesting, identify sections, and reorder site elements as needed.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteStructure\" grouped=\"false\" %}\n    The SiteStructure object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-publishing-auth",
      "x-page-title": "Site auth",
      "x-page-description": "Manage the authentication needed for publishing your site.",
      "x-parent": "sites",
      "description": "Configure the credentials or tokens required to publish documentation externally. This helps ensure your site is consistently kept up to date.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SitePublishingAuth\" grouped=\"false\" %}\n    The SitePublishingAuth object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-preview",
      "x-page-title": "Site preview",
      "x-page-description": "Fetch an up-to-date preview of your site before publishing.",
      "x-parent": "sites",
      "description": "Quickly generate a preview of how your site's content and layout will appear once published, allowing for final checks and refinement prior to going live.\n"
    },
    {
      "name": "site-customization",
      "x-page-title": "Site customization",
      "x-page-description": "Customize the look and feel of your docs site.",
      "x-parent": "sites",
      "description": "Update your site's branding, styling, and layout to match your organization's identity. This includes theming elements like color palette, logos, and more.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteCustomizationSettings\" grouped=\"false\" %}\n    The SiteCustomizationSettings object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-spaces",
      "x-page-title": "Site spaces",
      "x-page-description": "Control which spaces are linked and displayed in a docs site.",
      "x-parent": "sites",
      "description": "Associate or dissociate your organization's spaces to keep your content organized. This is particularly useful for larger organizations with numerous spaces.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSpace\" grouped=\"false\" %}\n    The SiteSpace object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-sections",
      "x-page-title": "Site sections",
      "x-page-description": "Create and organize high-level sections for your docs site.",
      "x-parent": "sites",
      "description": "Sections help partition your site's content at the top level. They can be modified, deleted, or reorganized to reflect your site's changing structure.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSection\" grouped=\"false\" %}\n    The SiteSection object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-section-groups",
      "x-page-title": "Site section groups",
      "x-page-description": "Group and manage sections of your docs for easier organization.",
      "x-parent": "sites",
      "description": "Section groups let you bundle multiple top-level sections together, offering additional structuring capabilities and simplifying navigation for your readers.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSectionGroup\" grouped=\"false\" %}\n    The SiteSectionGroup object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-redirects",
      "x-page-title": "Site redirects",
      "x-page-description": "Establish redirects for pages that have moved or changed in your docs site.",
      "x-parent": "sites",
      "description": "Keep your site's content fresh without breaking old links. This API allows you to create and manage redirection rules.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteRedirect\" grouped=\"false\" %}\n    The SiteRedirect object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-mcp-servers",
      "x-page-title": "Site MCP servers",
      "x-page-description": "Configure external MCP servers used by your site.",
      "x-parent": "sites",
      "description": "Manage Model Context Protocol (Mcp) servers used by your site.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteMcpServer\" grouped=\"false\" %}\n    The SiteMcpServer object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-channels",
      "x-page-title": "Site channels",
      "x-page-description": "Configure site channels for your docs site.",
      "x-parent": "sites",
      "description": "Manage the channels used as origins for questions and answers in your site ask data.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteChannel\" grouped=\"false\" %}\n    The SiteChannel object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-ads",
      "x-page-title": "Site ads",
      "x-page-description": "Control and customize ad placements on your docs site.",
      "x-parent": "sites",
      "description": "Manage the advertisement strategy within your docs. You can specify ad placements, track usage, and adjust settings to best fit your organization's needs.\n"
    },
    {
      "name": "site-permissions",
      "x-page-title": "Site permissions",
      "x-page-description": "Manage which members and teams can access or contribute to a docs site.",
      "x-parent": "sites",
      "description": "Invite, remove, or update users and teams permissions for a site. This provides a way to tightly control collaboration and visibility among your teammates.\n"
    },
    {
      "name": "site-insights",
      "x-page-title": "Site insights",
      "x-page-description": "Analyze traffic and engagement metrics for your docs site.",
      "x-parent": "sites",
      "description": "This API delivers insights about how visitors interact with your site, including page views and user engagement, helping you measure and optimize your content strategy.\n"
    },
    {
      "name": "site-ai",
      "x-page-title": "Site AI",
      "x-page-description": "Build conversational AI agents for your docs site.",
      "x-parent": "sites",
      "description": "Build advanced conversational AI experiences within your docs site that go beyond basic Q&A.\n"
    },
    {
      "name": "site-ask",
      "x-page-title": "Site AI ask",
      "x-page-description": "Allow AI-driven queries within a specific docs site.",
      "x-parent": "sites",
      "description": "Give your users a way to ask content-aware AI queries that are scoped entirely to the site's published documents.\n"
    },
    {
      "name": "site-context",
      "x-page-title": "Site context",
      "x-page-description": "Manage context records, connections, and topics for a docs site.",
      "x-parent": "sites",
      "description": "Manage the contextual records and topics used by your site to power AI experiences and insights.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ContextRecord,ContextConnection,SiteTopic,SiteIssue,SiteIssuePage\" grouped=\"false\" %}\n    The Site Context objects\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "site-questions",
      "x-page-title": "Site questions",
      "x-page-description": "Review questions, answers, and sources generated for a docs site.",
      "x-parent": "sites",
      "description": "Inspect the canonical questions asked on your site, the generated answers linked to each question, and the sources used for each answer.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteQuestion,SiteQuestionAnswer,SiteQuestionAnswerWithResponse,SiteQuestionAnswerSource\" grouped=\"false\" %}\n    The Site Questions objects\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "collections",
      "x-page-icon": "folder",
      "x-page-title": "Collections",
      "x-page-description": "Organize and manage grouped sets of spaces for better content structure.",
      "description": "Collections let you bundle multiple spaces under a unified entity, making large-scale content easier to handle. You can sort content by subject, department, or any grouping logic.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Collection\" grouped=\"false\" %}\n    The Collection object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "collection-permissions",
      "x-page-title": "Collection permissions",
      "x-page-description": "Manage which members and teams can access or contribute to a collection of spaces.",
      "x-parent": "collections",
      "description": "Control which users and teams have access to a collection's spaces. This ensures only the right individuals can view or modify sensitive content.\n"
    },
    {
      "name": "spaces",
      "x-page-icon": "book-sparkles",
      "x-page-title": "Spaces",
      "x-page-description": "Create, maintain, and remove content spaces.",
      "description": "Spaces are containers for your documentation or knowledge base content. Use this API to create new spaces, manage existing ones, and delete or archive spaces you no longer need.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Space\" grouped=\"false\" %}\n    The Space object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "space-content",
      "x-page-title": "Space content",
      "x-page-description": "Import, export, and search content in a space.",
      "x-parent": "spaces",
      "description": "Handle your space content programmatically by creating, updating, or listing pages and files. Ideal for bulk operations or synchronizing with external systems.\n"
    },
    {
      "name": "space-comments",
      "x-page-title": "Space comments",
      "x-page-description": "Integrate and manage user comments in a space.",
      "x-parent": "spaces",
      "description": "Comments are a powerful way to gather feedback on your documentation. Use this API to post, list, update, or delete comments and keep conversations organized.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Comment\" grouped=\"false\" %}\n    The Comment object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "space-embeds",
      "x-page-title": "Space embeds",
      "x-page-description": "Render or resolve embedded content within a space.",
      "x-parent": "spaces",
      "description": "Automatically fetch metadata or previews for embedded resources such as videos, images, or external docs, enabling richer content experiences in your space.\n"
    },
    {
      "name": "space-permissions",
      "x-page-title": "Space permissions",
      "x-page-description": "Manage which members and teams roles and permissions on a per-space basis.",
      "x-parent": "spaces",
      "description": "Give your collaborators the right level of access for specific spaces, or assign entire teams to your spaces and streamline the process of granting or revoking access at scale, without dealing with individual user roles.\n"
    },
    {
      "name": "space-integrations",
      "x-page-title": "Space integrations",
      "x-page-description": "Connect external tools and plugins to enhance your space functionality.",
      "x-parent": "spaces",
      "description": "This API handles the registration and removal of integrations, automating how data flows between GitBook and your chosen external services.\n"
    },
    {
      "name": "space-git",
      "x-page-title": "Git",
      "x-page-description": "Connect Git repositories to your space for seamless version control.",
      "x-parent": "spaces",
      "description": "Manage the linkage between your GitBook space and external Git repositories, enabling commits, merges, and pull requests directly tied to your documentation.\n"
    },
    {
      "name": "change-requests",
      "x-page-icon": "code-pull-request",
      "x-page-title": "Change requests",
      "x-page-description": "Review and collaborate on proposed documentation changes before merging.",
      "description": "This API helps you keep your space clean by letting contributors propose changes, review them, and then merge or discard as needed.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ChangeRequest\" grouped=\"false\" %}\n    The ChangeRequest object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "change-request-content",
      "x-page-title": "Change request content",
      "x-page-description": "Manage the actual content changes associated with a change request.",
      "x-parent": "change-requests",
      "description": "Retrieve or update the pages and files tied to an open change request. This lets you preview alterations and merge them when ready.\n"
    },
    {
      "name": "change-request-contributors",
      "x-page-title": "Change request contributors",
      "x-page-description": "See who's participating in the change request.",
      "x-parent": "change-requests",
      "description": "Quickly access the full list of collaborators and their contributions within a change request for better traceability and communication.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"UserContributor\" grouped=\"false\" %}\n    The UserContributor object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "change-request-reviewers",
      "x-page-title": "Change request reviewers",
      "x-page-description": "Assign or list requested reviewers for a change request.",
      "x-parent": "change-requests",
      "description": "Ensure quality by requesting and tracking reviewer feedback in your GitBook flow. This endpoint helps orchestrate the entire review cycle.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ChangeRequestRequestedReviewer\" grouped=\"false\" %}\n    The ChangeRequestRequestedReviewer object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "change-request-comments",
      "x-page-title": "Change request comments",
      "x-page-description": "Engage in threaded conversations on proposed changes.",
      "x-parent": "change-requests",
      "description": "This API powers the inline discussion around any new or updated documentation. Participate in comment threads and resolve them after reaching consensus.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Comment\" grouped=\"false\" %}\n    The Comment object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "analytics",
      "x-page-icon": "chart-line",
      "x-page-title": "Analytics",
      "x-page-description": "Tap into metrics that reveal your content's performance and usage patterns.",
      "description": "Gather data-driven insights on how users interact with your spaces, pages, or entire site. Analytics can highlight trends and guide future content improvements.\n"
    },
    {
      "name": "translations",
      "x-page-icon": "language",
      "x-page-title": "Translations",
      "x-page-description": "Configure multi-language support and translation options for your documentation.",
      "description": "The Translations API provides ways to localize your content into various languages. It supports custom strings, default language settings, and more.\n"
    },
    {
      "name": "translation-languages",
      "x-page-title": "Translations languages",
      "x-page-description": "Manage the individual language configurations for your docs translation setup.",
      "x-parent": "translations",
      "description": "Enable or disable specific languages, configure default text direction, or adjust advanced translation settings to ensure clarity for your global audience.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"TranslationLanguageSettings\" grouped=\"false\" %}\n    The TranslationLanguageSettings object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "imports",
      "x-page-icon": "cloud-arrow-up",
      "x-page-title": "Imports",
      "x-page-description": "Import content into GitBook.",
      "description": "The Imports API provides allows you to import content into GitBook.\n"
    },
    {
      "name": "glossary",
      "x-page-title": "Glossary",
      "x-page-description": "Manage custom terms translations used by the translation feature.",
      "x-parent": "translations",
      "description": "Define terms and specify their translations for different languages to ensure consistent wording.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"GlossaryEntry\" grouped=\"false\" %}\n    The GlossaryEntry object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "integrations",
      "x-page-icon": "puzzle-piece",
      "x-page-title": "Integrations",
      "x-page-description": "Install and handle third-party integrations for extended GitBook functionality.",
      "description": "Expand the capabilities of GitBook by connecting it with various external platforms—CRM, issue trackers, or CI/CD pipelines—through standardized integration endpoints.\n"
    },
    {
      "name": "urls",
      "x-page-icon": "link",
      "x-page-title": "URLs",
      "x-page-description": "Configure where and how your GitBook content can be accessed.",
      "description": "Manage official endpoints, direct deep links, or short links for your content. This allows you to keep track of multiple custom URLs or vanity links under one system.\n"
    },
    {
      "name": "openapi",
      "x-page-icon": "code",
      "x-page-title": "OpenAPI",
      "x-page-description": "Upload, access, or version-control your OpenAPI specifications directly in GitBook.",
      "description": "The OpenAPI endpoints let you integrate your existing or newly generated OpenAPI definitions into GitBook. This includes uploading, updating, and retrieving specs.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"OpenAPISpec\" grouped=\"false\" %}\n    The OpenAPISpec object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "openapi-versions",
      "x-page-title": "OpenAPI spec versions",
      "x-page-description": "Track changes to your OpenAPI documents by versioning them.",
      "x-parent": "openapi",
      "description": "Keep a history of your OpenAPI specs, enabling you to compare different versions, revert, or maintain multiple concurrent versions for testing or documentation.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"OpenAPISpecVersion\" grouped=\"false\" %}\n    The OpenAPISpecVersion object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "custom-fonts",
      "x-page-icon": "font",
      "x-page-title": "Custom fonts",
      "x-page-description": "Bring your own fonts to personalize your documentation style.",
      "description": "Upload and manage custom fonts for branding or aesthetic purposes. Once added, fonts can be applied to your spaces or sites to achieve a unique look.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"CustomizationFontDefinition\" grouped=\"false\" %}\n    The CustomizationFontDefinition object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "billing",
      "x-page-icon": "credit-card",
      "x-page-title": "Billing",
      "x-page-description": "Organize payment details and subscription plans for your organization.",
      "description": "Centralize billing activities here, including updating payment methods, adjusting subscriptions, or reviewing invoices. Simplify how you track and control costs.\n"
    },
    {
      "name": "hive",
      "x-page-icon": "network-wired",
      "x-page-title": "Hive",
      "x-page-description": "Bring teams together and share resources effectively across GitBook.",
      "description": "Hive is a collaborative layer over your GitBook data, designed to streamline knowledge sharing, cross-project tasks, and reduce duplicate efforts among your teammates.\n"
    },
    {
      "name": "subdomains",
      "x-page-icon": "diagram-project",
      "x-page-title": "Subdomains",
      "x-page-description": "Manage and configure organization-specific subdomains for your docs.",
      "description": "Provide a branded subdomain for each organization to create a consistent user experience. This API supports subdomain creation, DNS checks, and more.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Subdomain\" grouped=\"false\" %}\n    The Subdomain object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "users",
      "x-page-icon": "users",
      "x-page-title": "Users",
      "x-page-description": "Retrieve and manage user information and profiles.",
      "description": "The Users API allows you to fetch data about GitBook users, including the authenticated account or other team members by ID. This is crucial for customizing permissions, personalizing content, or establishing user-specific flows.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"User\" grouped=\"false\" %}\n    The User object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "teams",
      "x-page-icon": "people-group",
      "x-page-title": "Teams",
      "x-page-description": "Create and manage teams as reusable groups of users.",
      "description": "Teams offer a convenient way to assign roles and access to multiple users at once. This helps maintain large-scale projects more efficiently by reducing overhead in user-by-user management.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Team\" grouped=\"false\" %}\n    The Team object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "team-members",
      "x-page-title": "Team members",
      "x-page-description": "Control membership at the team level for cohesive role management.",
      "x-parent": "teams",
      "description": "Easily add or remove users from teams, as well as fine-tune their specific roles within a team to ensure secure, well-organized collaboration.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"TeamMember\" grouped=\"false\" %}\n    The TeamMember object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "sso",
      "x-page-icon": "lock",
      "x-page-title": "SSO",
      "x-page-description": "Configure Single Sign-On solutions to unify your organization's authentication.",
      "description": "Tie GitBook into your corporate identity management and authentication providers (like SAML or OAuth). This centralizes user authentication and improves security.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Subdomain\" grouped=\"false\" %}\n    The Subdomain object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "storage",
      "x-page-icon": "database",
      "x-page-title": "Storage",
      "x-page-description": "Upload and store files directly within your GitBook organization.",
      "description": "Whether you're hosting images, documents, or other assets, Storage endpoints allow you to integrate those files into your documentation and spaces seamlessly.\n"
    },
    {
      "name": "custom-hostnames",
      "x-page-icon": "server",
      "x-page-title": "Custom hostnames",
      "x-page-description": "Serve your GitBook content from fully branded, custom hostnames.",
      "description": "Extend your brand identity by mapping personalized domain names to your docs. This can help unify your documentation site with your existing company properties.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"CustomHostname\" grouped=\"false\" %}\n    The CustomHostname object\n{% endopenapi-schemas %}\n"
    },
    {
      "name": "system",
      "x-page-icon": "gears",
      "x-page-title": "System info",
      "x-page-description": "Programmatically check GitBook API system status and version details.",
      "description": "Use these endpoints to monitor the overall health of GitBook's infrastructure or to retrieve version information for debugging and compliance purposes.\n"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "getApiInformation",
        "tags": [
          "system"
        ],
        "summary": "Get API information",
        "description": "Access the release version and build date of the GitBook codebase.",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiInformation"
                }
              }
            }
          }
        }
      }
    },
    "/user": {
      "get": {
        "operationId": "getAuthenticatedUser",
        "summary": "Get profile of authenticated user",
        "tags": [
          "users",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "description": "Returns details about the user associated with the authentication provided in the request's authorization header.\n",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/users/{userId}": {
      "get": {
        "operationId": "getUserById",
        "summary": "Get a user by its ID",
        "tags": [
          "users",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "description": "Provides publicly available information about someone with a GitBook account.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateUserById",
        "summary": "Update a user by its ID",
        "tags": [
          "users",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "description": "Update a GitBook account's details.\n",
        "parameters": [
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "minProperties": 1,
                "properties": {
                  "displayName": {
                    "type": "string",
                    "description": "Full name for the user",
                    "minLength": 1,
                    "maxLength": 64
                  },
                  "photoURL": {
                    "$ref": "#/components/schemas/URL"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The user has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            }
          },
          "404": {
            "description": "User not found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}": {
      "get": {
        "operationId": "getSpaceById",
        "summary": "Get a space by its ID",
        "tags": [
          "spaces",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateSpaceById",
        "summary": "Update a space",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "editMode": {
                        "$ref": "#/components/schemas/SpaceEditMode"
                      },
                      "title": {
                        "$ref": "#/components/schemas/SpaceTitle"
                      },
                      "defaultLevel": {
                        "$ref": "#/components/schemas/DefaultLevel"
                      },
                      "language": {
                        "$ref": "#/components/schemas/TranslationLanguage"
                      },
                      "mergeRules": {
                        "$ref": "#/components/schemas/MergeRulesSpaceConfiguration"
                      }
                    }
                  },
                  {
                    "oneOf": [
                      {
                        "type": "object",
                        "title": "Emoji",
                        "properties": {
                          "emoji": {
                            "$ref": "#/components/schemas/Emoji"
                          }
                        },
                        "required": [
                          "emoji"
                        ]
                      },
                      {
                        "type": "object",
                        "title": "Icon",
                        "properties": {
                          "icon": {
                            "$ref": "#/components/schemas/URL"
                          }
                        },
                        "required": [
                          "icon"
                        ]
                      },
                      {
                        "type": "object",
                        "title": "Remove icon or emoji",
                        "properties": {
                          "emoji": {
                            "type": "null"
                          },
                          "icon": {
                            "type": "null"
                          }
                        }
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The space has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSpaceById",
        "summary": "Delete a space",
        "description": "Deleted spaces will be permanently removed after 7 days.",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "Space did not exist"
          },
          "205": {
            "description": "Space has been deleted"
          }
        }
      }
    },
    "/spaces/{spaceId}/duplicate": {
      "post": {
        "operationId": "duplicateSpace",
        "summary": "Duplicate a space",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "201": {
            "description": "Space duplicated",
            "headers": {
              "Location": {
                "description": "API URL for the newly created space",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/restore": {
      "post": {
        "operationId": "restoreSpace",
        "summary": "Restore a deleted space",
        "description": "Only spaces deleted in the last 7 days can be restored.",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "200": {
            "description": "Space restored",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/move": {
      "post": {
        "operationId": "moveSpace",
        "summary": "Move a space to a new position",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "minProperties": 1,
                "properties": {
                  "parent": {
                    "description": "The unique id of the parent collection",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "position": {
                    "description": "Where to move the space. By default, it will be moved at the end.",
                    "$ref": "#/components/schemas/ContentPosition"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Space moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          },
          "400": {
            "description": "Invalid position space or collection provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching Space found for given ID",
            "$ref": "#/components/responses/NotFoundError"
          },
          "409": {
            "description": "Operation would not result in any update",
            "$ref": "#/components/responses/ConflictError"
          }
        }
      }
    },
    "/spaces/{spaceId}/transfer": {
      "post": {
        "operationId": "transferSpace",
        "summary": "Transfer a space",
        "description": "Transfer a space to another organization, collection or both.",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organization": {
                    "type": "string",
                    "description": "The unique id of the target organization"
                  }
                },
                "required": [
                  "organization"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Space transferred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          },
          "404": {
            "description": "No matching Space found for given ID",
            "$ref": "#/components/responses/NotFoundError"
          },
          "409": {
            "description": "Transfer would not result in any update",
            "$ref": "#/components/responses/ConflictError"
          },
          "412": {
            "description": "The space cannot be moved.",
            "$ref": "#/components/responses/PreconditionFailedError"
          }
        }
      }
    },
    "/spaces/{spaceId}/embed": {
      "get": {
        "operationId": "getEmbedByUrlInSpace",
        "summary": "Resolve a URL to an embed in a given space",
        "tags": [
          "space-embeds"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL to resolve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Embed"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/search": {
      "get": {
        "operationId": "searchSpaceContent",
        "summary": "Search content in a space",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 512
            }
          },
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SearchPageResult"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/git/import": {
      "post": {
        "operationId": "importGitRepository",
        "summary": "Import a Git repository",
        "tags": [
          "space-git"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "Operation to import the repository has been started."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportGitRepository"
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/git/export": {
      "post": {
        "operationId": "exportToGitRepository",
        "summary": "Export the to a Git repository",
        "tags": [
          "space-git"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "Operation to export the space has been started."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportToGitRepository"
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/git/info": {
      "get": {
        "operationId": "getSpaceGitInfo",
        "summary": "Get space Git info",
        "description": "Get metadata about the Git Sync provider currently set up on the space.",
        "tags": [
          "space-git"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "200": {
            "description": "The Git Sync info for the space",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitSyncState"
                }
              }
            }
          },
          "404": {
            "description": "No Git provider currently set up on the space",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/git/legacy-installation": {
      "delete": {
        "operationId": "deleteLegacyGitInstallation",
        "summary": "Remove the legacy Git Sync installation from the space to be able to upgrade it to use the new Git integrations",
        "tags": [
          "space-git"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "The legacy Git installation was already removed"
          },
          "205": {
            "description": "The legacy Git installation was successfully removed"
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions": {
      "post": {
        "operationId": "inviteToSpace",
        "summary": "Invite a user or a team to a space",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "404": {
            "description": "No team or user with the provided Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUsersAndTeams"
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions/teams/{teamId}": {
      "patch": {
        "operationId": "updateTeamPermissionInSpace",
        "summary": "Update an org team's permission in a space",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team permission was updated"
          },
          "404": {
            "description": "No team found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeTeamFromSpace",
        "summary": "Remove an org team from a space",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "204": {
            "description": "The team was not found in the space"
          },
          "205": {
            "description": "The team has been removed from the space"
          },
          "400": {
            "description": "Team does not have access to space",
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions/users": {
      "get": {
        "operationId": "listUserPermissionsInSpace",
        "summary": "List space user permissions",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who have been added to a space.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserContentPermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No space was found with the given Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions/users/{userId}": {
      "patch": {
        "operationId": "updateUserPermissionInSpace",
        "summary": "Update space user permissions",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User permission was updated"
          },
          "404": {
            "description": "No user found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeUserFromSpace",
        "summary": "Remove a space user",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user was not found in the space"
          },
          "205": {
            "description": "The user has been removed from the space"
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions/teams": {
      "get": {
        "operationId": "listTeamPermissionsInSpace",
        "summary": "List an org team's permission in a space",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of teams who have been added to a space.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": "Permission of a team in a space.",
                            "properties": {
                              "permission": {
                                "$ref": "#/components/schemas/MemberRole"
                              },
                              "team": {
                                "$ref": "#/components/schemas/OrganizationTeam"
                              }
                            },
                            "required": [
                              "permission",
                              "team"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No space was found with the given Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/content": {
      "get": {
        "operationId": "getCurrentRevision",
        "summary": "Get a space current revision",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Revision"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/template": {
      "post": {
        "operationId": "applyTemplateToSpace",
        "summary": "Apply a template to a space.",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "201": {
            "description": "Template applied to space."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplySpaceTemplate"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "changeRequestId": {
                        "type": "string",
                        "description": "The ID of the change request to apply the template to. If not provided, the template is applied to the main content."
                      }
                    }
                  }
                ]
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/pages": {
      "get": {
        "operationId": "listPages",
        "summary": "List all space pages",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionPage"
                      }
                    }
                  },
                  "required": [
                    "pages"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/files": {
      "get": {
        "operationId": "listFiles",
        "summary": "List all space files",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/RevisionFile"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/files/{fileId}": {
      "get": {
        "operationId": "getFileById",
        "summary": "Get a space file by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/fileId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionFile"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/files/{fileId}/backlinks": {
      "get": {
        "operationId": "listSpaceFileBacklinks",
        "summary": "List all space file backlink locations",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/fileId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentLocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/page/{pageId}": {
      "get": {
        "operationId": "getPageById",
        "summary": "Get a space page by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPage"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/page/{pageId}/links": {
      "get": {
        "operationId": "listPageLinksInSpace",
        "summary": "List all space page links",
        "tags": [
          "space-content",
          "links",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ContentReferenceStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "stats": {
                          "$ref": "#/components/schemas/ContentReferencesStats"
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentReferenceUsage"
                          }
                        }
                      },
                      "required": [
                        "items",
                        "stats"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/page/{pageId}/backlinks": {
      "get": {
        "operationId": "listSpacePageBacklinks",
        "summary": "List all space page backlink locations",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentLocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/page/{pageId}/meta-links": {
      "get": {
        "operationId": "listSpacePageMetaLinks",
        "summary": "List all meta links for a space page",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPageMetaLinks"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/path/{pagePath}": {
      "get": {
        "operationId": "getPageByPath",
        "summary": "Get a space page by its path",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/pagePath"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RevisionPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageGroup"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/reusable-contents/{reusableContentId}": {
      "get": {
        "operationId": "getReusableContentById",
        "summary": "Get a space reusable content by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/reusableContentId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionReusableContent"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/computed/document": {
      "post": {
        "operationId": "getComputedDocument",
        "summary": "Get a space computed document",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/documentSchema"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/ComputedContentSourceDocument"
                  },
                  "seed": {
                    "type": "string",
                    "description": "Seed to use for the generation of IDs."
                  }
                },
                "required": [
                  "source",
                  "seed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Document computed",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JSONDocument"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/content/computed/revision": {
      "post": {
        "operationId": "getComputedRevision",
        "summary": "Get a space computed revision",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/ComputedContentSourceRevision"
                  },
                  "seed": {
                    "type": "string",
                    "description": "Seed to use for the generation of IDs."
                  }
                },
                "required": [
                  "source",
                  "seed"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Computed pages and files",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionPage"
                      }
                    },
                    "files": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionFile"
                      }
                    },
                    "reusableContents": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionReusableContent"
                      }
                    }
                  },
                  "required": [
                    "pages",
                    "files",
                    "reusableContents"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/documents/{documentId}": {
      "get": {
        "operationId": "getDocumentById",
        "summary": "Get a space document by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "name": "documentId",
            "in": "path",
            "required": true,
            "description": "ID of the document in the space",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/documentSchema"
          }
        ],
        "responses": {
          "200": {
            "description": "Document",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JSONDocument"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests": {
      "post": {
        "operationId": "createChangeRequest",
        "summary": "Create a change request",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "201": {
            "description": "Change Request Created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created change-request",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeRequest"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subject": {
                    "type": "string",
                    "description": "Subject of the change-request"
                  },
                  "template": {
                    "$ref": "#/components/schemas/ApplySpaceTemplate",
                    "description": "Template to apply to the change request"
                  }
                },
                "additionalProperties": true
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listChangeRequestsForSpace",
        "summary": "List all change requests",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ChangeRequestStatus",
              "default": "open"
            },
            "description": "If defined, only change requests matching this status will be returned."
          },
          {
            "name": "creator",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests created by this user will be returned."
          },
          {
            "name": "contributor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests with contributions from this user will be returned."
          },
          {
            "name": "requestedReviewer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests with a requested reviewer for this user will be returned."
          },
          {
            "name": "topic",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests linked to this site topic will be returned."
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ChangeRequestOrderBy"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of the space's change requests",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}": {
      "get": {
        "operationId": "getChangeRequestById",
        "summary": "Get a change request by its ID",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The matching change request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeRequest"
                }
              }
            }
          },
          "404": {
            "description": "The change request could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateChangeRequestById",
        "summary": "Update a change request",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "subject": {
                    "$ref": "#/components/schemas/ChangeRequestSubject"
                  },
                  "description": {
                    "$ref": "#/components/schemas/JSONDocument"
                  },
                  "status": {
                    "type": "string",
                    "enum": [
                      "draft",
                      "open",
                      "archived"
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The change request has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeRequest"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/merge": {
      "post": {
        "operationId": "mergeChangeRequest",
        "summary": "Merge a change request",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "revision": {
                      "type": "string",
                      "description": "ID of the resulting revision"
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "merge",
                        "conflicts"
                      ]
                    }
                  },
                  "required": [
                    "revision",
                    "result"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/update": {
      "post": {
        "operationId": "updateChangeRequest",
        "summary": "Pull primary content into the change request",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "revision": {
                      "type": "string",
                      "description": "ID of the resulting revision"
                    },
                    "result": {
                      "type": "string",
                      "enum": [
                        "update",
                        "conflicts"
                      ]
                    }
                  },
                  "required": [
                    "revision",
                    "result"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/reviews": {
      "get": {
        "operationId": "getReviewsByChangeRequestId",
        "summary": "List all change request reviews",
        "tags": [
          "change-requests-reviews"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "in": "query",
            "name": "outdated",
            "description": "Filter reviews marked as outdated.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "All reviews for the given change request.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequestReview"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The change request or space could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "post": {
        "operationId": "submitChangeRequestReview",
        "summary": "Submit a change request review",
        "tags": [
          "change-requests-reviews"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "201": {
            "headers": {
              "Location": {
                "description": "API URL for the newly created review",
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "A new review has been created.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeRequestReview"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "description": "The status of the submitted review.",
                    "$ref": "#/components/schemas/ChangeRequestReviewStatus"
                  },
                  "comment": {
                    "description": "Optionally, provide a comment along with the review.",
                    "$ref": "#/components/schemas/Document"
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/reviews/{reviewId}": {
      "get": {
        "operationId": "getChangeRequestReviewById",
        "summary": "Get a change request review by its ID",
        "tags": [
          "change-requests-reviews"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/reviewId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "The matching change request review.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeRequestReview"
                }
              }
            }
          },
          "404": {
            "description": "The change request review could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/requested-reviewers": {
      "get": {
        "operationId": "getRequestedReviewersByChangeRequestId",
        "summary": "Get all change request reviewers",
        "tags": [
          "change-request-reviewers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "A list of requested reviewers",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequestRequestedReviewer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "requestReviewersForChangeRequest",
        "summary": "Request change request reviewers",
        "tags": [
          "change-request-reviewers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "The requests have successfully been sent.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "users": {
                      "type": "array",
                      "description": "The user requests that were sent.",
                      "items": {
                        "$ref": "#/components/schemas/ChangeRequestRequestedReviewer"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "users": {
                    "type": "array",
                    "description": "An array of user ids that will be requested.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "subject": {
                    "type": "string",
                    "description": "Optionally, update the subject of the change request when requesting reviewers."
                  },
                  "description": {
                    "$ref": "#/components/schemas/JSONDocument",
                    "description": "Optionally, update the description of the change request when requesting reviewers."
                  }
                },
                "required": [
                  "users"
                ]
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/requested-reviewers/{userId}": {
      "delete": {
        "operationId": "removeRequestedReviewerFromChangeRequest",
        "summary": "Remove a reviewer from a change request",
        "tags": [
          "change-request-reviewers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "Reviewer was not found"
          },
          "205": {
            "description": "The reviewer has been removed from the change request"
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/links": {
      "get": {
        "operationId": "listChangeRequestLinks",
        "summary": "List all change request links",
        "tags": [
          "change-requests-links",
          "links",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ContentReferenceStatus"
            }
          },
          {
            "name": "brokenContext",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "change-request",
                "space"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "stats": {
                          "$ref": "#/components/schemas/ContentReferencesStats"
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentReferenceUsage"
                          }
                        }
                      },
                      "required": [
                        "items",
                        "stats"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The change request could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/comments": {
      "get": {
        "operationId": "listCommentsInChangeRequest",
        "summary": "List all change request comments",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/listOrder"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/status"
          },
          {
            "$ref": "#/components/parameters/targetPage"
          },
          {
            "$ref": "#/components/parameters/authors"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Comment"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "postCommentInChangeRequest",
        "summary": "Create a change request comment",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostCommentSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The comment was posted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/comments/{commentId}": {
      "get": {
        "operationId": "getCommentInChangeRequest",
        "summary": "Get a change request comment",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "The returned comment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteCommentInChangeRequest",
        "summary": "Delete a change request comment",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          }
        ],
        "responses": {
          "204": {
            "description": "Comment did not exist."
          },
          "205": {
            "description": "The comment has been deleted."
          }
        }
      },
      "put": {
        "operationId": "updateCommentInChangeRequest",
        "summary": "Update a change request comment",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommentSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The comment was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/comments/{commentId}/replies": {
      "get": {
        "operationId": "listCommentRepliesInChangeRequest",
        "summary": "List all change request comment replies",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CommentReply"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "postCommentReplyInChangeRequest",
        "summary": "Create a change request comment reply",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostCommentReplySchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The reply was posted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/comments/{commentId}/replies/{commentReplyId}": {
      "get": {
        "operationId": "getCommentReplyInChangeRequest",
        "summary": "Get a change request comment reply",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "The returned comment reply.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "updateCommentReplyInChangeRequest",
        "summary": "Update a change request comment reply",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommentSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The reply was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteCommentReplyInChangeRequest",
        "summary": "Delete a change request comment reply",
        "tags": [
          "change-request-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          }
        ],
        "responses": {
          "204": {
            "description": "Comment reply did not exist."
          },
          "205": {
            "description": "The comment has been deleted."
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/contributors": {
      "get": {
        "operationId": "getContributorsByChangeRequestId",
        "summary": "Get all contribors of a change request",
        "tags": [
          "change-request-contributors"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          }
        ],
        "responses": {
          "200": {
            "description": "Contributors on the change request",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequestUserContributor"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The change request could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content": {
      "get": {
        "operationId": "getRevisionOfChangeRequestById",
        "summary": "Get a change request the latest content revision",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Revision"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/pages": {
      "get": {
        "operationId": "listPagesInChangeRequest",
        "summary": "List all change request pages",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionPage"
                      }
                    }
                  },
                  "required": [
                    "pages"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/files": {
      "get": {
        "operationId": "listFilesInChangeRequestById",
        "summary": "List all change request files",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/RevisionFile"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/files/{fileId}": {
      "get": {
        "operationId": "getFileInChangeRequestById",
        "summary": "Get a change request file by its ID",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/fileId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionFile"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/files/{fileId}/backlinks": {
      "get": {
        "operationId": "listChangeRequestFileBacklinks",
        "summary": "List all backlink locations of a change request file",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/fileId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentLocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}": {
      "get": {
        "operationId": "getPageInChangeRequestById",
        "summary": "Get a change request page by its ID",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPage"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}/links": {
      "get": {
        "operationId": "listPageLinksInChangeRequest",
        "summary": "List all change request links",
        "tags": [
          "change-request-content",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "stats": {
                          "$ref": "#/components/schemas/ContentReferencesStats"
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentReferenceUsage"
                          }
                        }
                      },
                      "required": [
                        "items",
                        "stats"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}/backlinks": {
      "get": {
        "operationId": "listChangeRequestPageBacklinks",
        "summary": "List all backlink locations of a change request page",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentLocation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}/meta-links": {
      "get": {
        "operationId": "listChangeRequestPageMetaLinks",
        "summary": "List all meta links of a change request page",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPageMetaLinks"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/reusable-contents/{reusableContentId}": {
      "get": {
        "operationId": "getReusableContentInChangeRequestById",
        "summary": "Get a change request reusable content by its ID",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/reusableContentId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionReusableContent"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/changes": {
      "get": {
        "operationId": "getChangeRequestChanges",
        "summary": "Get change request semantic changes",
        "description": "Return the semantic changes between a change request and its base revision.",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of changes returned",
            "schema": {
              "type": "number",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionSemanticChanges"
                }
              }
            }
          },
          "404": {
            "description": "The change request could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/pdf": {
      "get": {
        "operationId": "getChangeRequestPDF",
        "summary": "Get a URL of the content of a change request as PDF",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "in": "query",
            "name": "only",
            "description": "Generate a PDF only for the provided page.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "page",
            "description": "ID of a specific page to generate a PDF for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "URL of the PDF",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "description": "Temporary URL to print the content. The URL will work for 1h.",
                      "$ref": "#/components/schemas/URL"
                    }
                  },
                  "required": [
                    "url"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}": {
      "get": {
        "operationId": "getRevisionById",
        "summary": "Get a space revision",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Revision"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/changes": {
      "get": {
        "operationId": "getRevisionSemanticChanges",
        "summary": "Get space revision semantic changes",
        "description": "Return the semantic changes between a revision and its parent.",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Limit the number of changes returned",
            "schema": {
              "type": "number",
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionSemanticChanges"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/pages": {
      "get": {
        "summary": "List all pages in a space revision",
        "operationId": "listPagesInRevisionById",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "pages": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/RevisionPage"
                      }
                    }
                  },
                  "required": [
                    "pages"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/files": {
      "get": {
        "summary": "List all space revision files",
        "operationId": "listFilesInRevisionById",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/RevisionFile"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/files/{fileId}": {
      "get": {
        "summary": "Get a space revision file by its ID",
        "operationId": "getFileInRevisionById",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/fileId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionFile"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/page/{pageId}": {
      "get": {
        "operationId": "getPageInRevisionById",
        "summary": "Get a space revision page by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPage"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/page/{pageId}/document": {
      "get": {
        "operationId": "getPageDocumentInRevisionById",
        "summary": "Get the document of a page in a revision",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JSONDocument"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/path/{pagePath}": {
      "get": {
        "operationId": "getPageInRevisionByPath",
        "summary": "Get a space revision page by its path",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/pagePath"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RevisionPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageGroup"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/page/{pageId}/meta-links": {
      "get": {
        "operationId": "listRevisionPageMetaLinks",
        "summary": "List all meta links for a revision page",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/pageId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionPageMetaLinks"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/content/path/{pagePath}": {
      "get": {
        "operationId": "getPageInChangeRequestByPath",
        "summary": "Get a change request page by its path",
        "tags": [
          "change-request-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/pagePath"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RevisionPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageGroup"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/reusable-contents/{reusableContentId}": {
      "get": {
        "operationId": "getReusableContentInRevisionById",
        "summary": "Get a space revision reusable content by its ID",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/reusableContentId"
          },
          {
            "$ref": "#/components/parameters/revisionMetadata"
          },
          {
            "$ref": "#/components/parameters/revisionComputed"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RevisionReusableContent"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/revisions/{revisionId}/reusable-contents/{reusableContentId}/document": {
      "get": {
        "operationId": "getReusableContentDocumentInRevisionById",
        "summary": "Get the document of a reusable content in a revision",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/revisionId"
          },
          {
            "$ref": "#/components/parameters/reusableContentId"
          },
          {
            "$ref": "#/components/parameters/documentEvaluated"
          },
          {
            "$ref": "#/components/parameters/documentDereferenced"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JSONDocument"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/comments": {
      "get": {
        "operationId": "listCommentsInSpace",
        "summary": "List all space comments",
        "tags": [
          "space-comments",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/listOrder"
          },
          {
            "$ref": "#/components/parameters/status"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "$ref": "#/components/parameters/targetPage"
          },
          {
            "$ref": "#/components/parameters/authors"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Comment"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "postCommentInSpace",
        "summary": "Create a space comment",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostCommentSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The comment was posted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/comments/{commentId}": {
      "get": {
        "operationId": "getCommentInSpace",
        "summary": "Get a space comment",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "The returned comment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteCommentInSpace",
        "summary": "Delete a space comment",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          }
        ],
        "responses": {
          "204": {
            "description": "Comment did not exist."
          },
          "205": {
            "description": "The comment has been deleted."
          }
        }
      },
      "put": {
        "operationId": "updateCommentInSpace",
        "summary": "Update a space comment",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommentSchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The comment was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Comment"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/comments/{commentId}/replies": {
      "get": {
        "operationId": "listCommentRepliesInSpace",
        "summary": "List all space comment replies",
        "tags": [
          "space-comment"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CommentReply"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "postCommentReplyInSpace",
        "summary": "Create a space comment reply",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PostCommentReplySchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The reply was posted.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/comments/{commentId}/replies/{commentReplyId}": {
      "get": {
        "operationId": "getCommentReplyInSpace",
        "summary": "Get a space comment reply",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "responses": {
          "200": {
            "description": "The returned comment reply.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "updateCommentReplyInSpace",
        "summary": "Update a space comment reply",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateCommentReplySchema"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The reply was updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CommentReply"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteCommentReplyInSpace",
        "summary": "Delete a space comment reply",
        "tags": [
          "space-comments"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/commentId"
          },
          {
            "$ref": "#/components/parameters/commentReplyId"
          }
        ],
        "responses": {
          "204": {
            "description": "Comment reply did not exist."
          },
          "205": {
            "description": "The comment has been deleted."
          }
        }
      }
    },
    "/spaces/{spaceId}/commenters": {
      "get": {
        "operationId": "listCommentersInSpace",
        "summary": "List all users who commented in a space",
        "tags": [
          "space-comments",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationMember"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/change-requests/{changeRequestId}/commenters": {
      "get": {
        "operationId": "listCommentersInChangeRequest",
        "summary": "List all users who commented in a CR",
        "tags": [
          "change-request-comments",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/changeRequestId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationMember"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/permissions/aggregate": {
      "get": {
        "operationId": "listPermissionsAggregateInSpace",
        "summary": "List all space users permissions",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "role",
            "in": "query",
            "description": "If defined, only members with this role will be returned.",
            "schema": {
              "$ref": "#/components/schemas/MemberRole"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who can access the space.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserContentPermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/integrations": {
      "get": {
        "operationId": "listSpaceIntegrations",
        "summary": "List integrations enabled in a space",
        "tags": [
          "space-integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/integrationSearchQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of integrations enabled in the space.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Integration"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/integration-blocks": {
      "get": {
        "operationId": "listSpaceIntegrationsBlocks",
        "summary": "List all space integrations blocks",
        "tags": [
          "space-integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "200": {
            "description": "list of installed integration blocks",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SpaceIntegrationBlocks"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/spaces/{spaceId}/pdf": {
      "get": {
        "operationId": "getSpacePDF",
        "summary": "Get a URL of the content of a space as PDF",
        "tags": [
          "space-content"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "in": "query",
            "name": "only",
            "description": "Generate a PDF only for the provided page.",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "query",
            "name": "page",
            "description": "ID of a specific page to generate a PDF for.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "URL of the PDF",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "description": "Temporary URL to print the content. The URL will work for 1h.",
                      "$ref": "#/components/schemas/URL"
                    }
                  },
                  "required": [
                    "url"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}/links": {
      "get": {
        "operationId": "listSpaceLinks",
        "summary": "Get all links in a space including their status and location where they appear.",
        "tags": [
          "spaces",
          "links",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "$ref": "#/components/schemas/ContentReferenceStatus"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "stats": {
                          "$ref": "#/components/schemas/ContentReferencesStats"
                        },
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContentReferenceUsage"
                          }
                        }
                      },
                      "required": [
                        "items",
                        "stats"
                      ]
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "The space could not be found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/collections/{collectionId}": {
      "get": {
        "operationId": "getCollectionById",
        "summary": "Get a collection by its ID",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateCollectionById",
        "summary": "Update a collection",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/CollectionTitle"
                  },
                  "description": {
                    "$ref": "#/components/schemas/CollectionDescription"
                  },
                  "defaultLevel": {
                    "$ref": "#/components/schemas/DefaultLevel"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The collection has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteCollectionById",
        "summary": "Delete a collection",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "Collection did not exist"
          },
          "205": {
            "description": "Collection has been deleted"
          }
        }
      }
    },
    "/collections/{collectionId}/spaces": {
      "get": {
        "operationId": "listSpacesInCollectionById",
        "summary": "List all collection spaces",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Space"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/move": {
      "post": {
        "operationId": "moveCollection",
        "summary": "Move a collection to a new position.",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "minProperties": 1,
                "properties": {
                  "parent": {
                    "description": "The unique id of the parent collection",
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "position": {
                    "description": "Where to move the collection. By default, it will be moved at the end.",
                    "$ref": "#/components/schemas/ContentPosition"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collection moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          },
          "400": {
            "description": "Invalid position space or collection provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching Collection found for given ID",
            "$ref": "#/components/responses/NotFoundError"
          },
          "409": {
            "description": "Operation would not result in any update",
            "$ref": "#/components/responses/ConflictError"
          }
        }
      }
    },
    "/collections/{collectionId}/transfer": {
      "post": {
        "operationId": "transferCollection",
        "summary": "Transfer a collection",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "organization": {
                    "type": "string",
                    "description": "The unique id of the target organization"
                  }
                },
                "required": [
                  "organization"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Collection transferred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          },
          "404": {
            "description": "No matching Collection found for given ID",
            "$ref": "#/components/responses/NotFoundError"
          },
          "409": {
            "description": "Transfer would not result in any update",
            "$ref": "#/components/responses/ConflictError"
          },
          "412": {
            "description": "The collection cannot be moved.",
            "$ref": "#/components/responses/PreconditionFailedError"
          }
        }
      }
    },
    "/collections/{collectionId}/permissions": {
      "post": {
        "operationId": "inviteToCollection",
        "summary": "Invite to a collection",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "404": {
            "description": "No team or user with the provided Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUsersAndTeams"
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/permissions/teams": {
      "get": {
        "operationId": "listTeamPermissionsInCollection",
        "summary": "List an org team's permission in collection",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of teams who have been added to a collection.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "description": "Permission of a team in a content.",
                            "properties": {
                              "permission": {
                                "$ref": "#/components/schemas/MemberRole"
                              },
                              "team": {
                                "$ref": "#/components/schemas/OrganizationTeam"
                              }
                            },
                            "required": [
                              "permission",
                              "team"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/collections/{collectionId}/permissions/teams/{teamId}": {
      "patch": {
        "operationId": "updateTeamPermissionInCollection",
        "summary": "Update an org team's permission in a collection",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team permission was updated"
          },
          "404": {
            "description": "No team found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeTeamFromCollection",
        "summary": "Remove an org team from a collection",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "204": {
            "description": "The team was not found in the collection"
          },
          "205": {
            "description": "The team has been removed from the collection"
          }
        }
      }
    },
    "/collections/{collectionId}/permissions/users": {
      "get": {
        "operationId": "listUserPermissionsInCollection",
        "summary": "List collection user permissions",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who have been added to a collection.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserContentPermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No space found with the given Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/collections/{collectionId}/permissions/users/{userId}": {
      "patch": {
        "operationId": "updateUserPermissionInCollection",
        "summary": "Update a collection user permission",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User permission was updated"
          },
          "404": {
            "description": "No user found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeUserFromCollection",
        "summary": "Remove a user from a collection",
        "tags": [
          "collection-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user was not found in the collection"
          },
          "205": {
            "description": "The user has been removed from the collection"
          }
        }
      }
    },
    "/collections/{collectionId}/permissions/aggregate": {
      "get": {
        "operationId": "listPermissionsAggregateInCollection",
        "summary": "List all collections users permissions",
        "tags": [
          "space-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/collectionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "role",
            "in": "query",
            "description": "If defined, only members with this role will be returned.",
            "schema": {
              "$ref": "#/components/schemas/MemberRole"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who can access the collections.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserContentPermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/integrations": {
      "get": {
        "operationId": "listIntegrations",
        "summary": "List all public integrations",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/integrationSearchQuery"
          },
          {
            "$ref": "#/components/parameters/integrationSearchCategory"
          },
          {
            "$ref": "#/components/parameters/integrationSearchBlockDomain"
          },
          {
            "$ref": "#/components/parameters/integrationSearchBlocks"
          },
          {
            "$ref": "#/components/parameters/integrationSearchContentSources"
          },
          {
            "$ref": "#/components/parameters/integrationSearchOwner"
          },
          {
            "$ref": "#/components/parameters/integrationSearchScope"
          },
          {
            "$ref": "#/components/parameters/integrationSearchTarget"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of integrations",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Integration"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{integrationName}": {
      "get": {
        "operationId": "getIntegrationByName",
        "summary": "Get an integration by its name",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                }
              }
            }
          },
          "404": {
            "description": "No matching integration found for given name",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "post": {
        "operationId": "publishIntegration",
        "summary": "Publish an integration",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Integration"
                }
              }
            }
          },
          "404": {
            "description": "Organization could not be found for the given hostname",
            "$ref": "#/components/responses/NotFoundError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PublishIntegration"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "unpublishIntegration",
        "summary": "Unpublish an integration",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "204": {
            "description": "Integration did not exist"
          },
          "205": {
            "description": "Integration has been deleted"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations": {
      "get": {
        "operationId": "listIntegrationInstallations",
        "summary": "List all integration installations",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "integration": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External Id to filter by",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationInstallation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "installIntegration",
        "summary": "Install an integration",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationTarget"
              }
            }
          }
        },
        "responses": {
          "201": {
            "headers": {
              "Location": {
                "description": "URL for the installed integration",
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Integration installed successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/events": {
      "get": {
        "operationId": "listIntegrationEvents",
        "summary": "List all integration events",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Paginated list of integration events",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationEvent"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{integrationName}/events/{eventId}": {
      "get": {
        "operationId": "getIntegrationEvent",
        "summary": "Get an integration event by its ID",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/integrationEventId"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration event",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "event"
                  ],
                  "properties": {
                    "event": {
                      "$ref": "#/components/schemas/IntegrationEvent"
                    },
                    "trace": {
                      "$ref": "#/components/schemas/IntegrationEventTrace"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/spaces": {
      "get": {
        "operationId": "listIntegrationSpaceInstallations",
        "summary": "List all integration space installations",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "integration": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External Id to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationSpaceInstallation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{integrationName}/sites": {
      "get": {
        "operationId": "listIntegrationSiteInstallations",
        "summary": "List all integration site installations",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "integration": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "externalId",
            "in": "query",
            "description": "External ID to filter by",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationSiteInstallation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/integrations/{integrationName}/dev": {
      "put": {
        "operationId": "setIntegrationDevelopmentMode",
        "summary": "Enable integration dev mode",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "tunnelUrl": {
                    "type": "string",
                    "description": "URL of the tunnel to dispatch integration events to",
                    "minLength": 1,
                    "maxLength": 256
                  },
                  "all": {
                    "type": "boolean",
                    "default": false,
                    "description": "If set to true, all requests will be forwarded to the tunnel, not just from the owning organization.\n"
                  }
                },
                "required": [
                  "tunnelUrl"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Updated development mode successfully"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "disableIntegrationDevelopmentMode",
        "summary": "Disable integration dev mode",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "205": {
            "description": "Disabled development mode successfully"
          }
        }
      }
    },
    "/integrations/{integrationName}/render": {
      "get": {
        "operationId": "renderIntegrationUIWithGet",
        "summary": "Render an integration UI with GET method",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "name": "request",
            "in": "query",
            "required": true,
            "description": "LZ-string compressed JSON request",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "ContentKit element to render",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentKitRenderOutput"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "renderIntegrationUIWithPost",
        "summary": "Render an integration UI with POST method",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "200": {
            "description": "ContentKit element to render",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentKitRenderOutput"
                }
              }
            },
            "headers": {
              "Cache-Control": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenderIntegrationUI"
              }
            }
          }
        }
      }
    },
    "/integrations/{integrationName}/tasks": {
      "post": {
        "operationId": "queueIntegrationTask",
        "summary": "Queue an integration task",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "integration": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "task": {
                    "type": "object",
                    "description": "Payload for the integration task"
                  },
                  "schedule": {
                    "type": "number",
                    "description": "Number of seconds to wait before executing the task, defaults to 0",
                    "minimum": 0,
                    "maximum": 86400
                  }
                },
                "required": [
                  "task"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Integration task created successfully"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}": {
      "get": {
        "operationId": "getIntegrationInstallationById",
        "summary": "Get an integration installation by its ID",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration installation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateIntegrationInstallation",
        "summary": "Update an integration installation",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          }
        ],
        "responses": {
          "200": {
            "description": "The installation has been updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationInstallation"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIntegrationInstallation"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "uninstallIntegration",
        "summary": "Uninstall an integration",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Integration installation did not exist"
          },
          "205": {
            "description": "Integration uninstalled successfully"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}/tokens": {
      "post": {
        "operationId": "createIntegrationInstallationToken",
        "summary": "Create an integration installation API token",
        "description": "Creates a temporary API token of an integration's installation that has access to the installation and it's scopes. You must be authenticated as the integration to obtain this token.\n",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "integration": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          }
        ],
        "responses": {
          "200": {
            "description": "The API token for the installation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APITemporaryToken"
                }
              }
            }
          },
          "404": {
            "description": "Installation could not be found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}/spaces": {
      "get": {
        "operationId": "listIntegrationInstallationSpaces",
        "summary": "List all space integration installations",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationSpaceInstallation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "installIntegrationOnSpace",
        "summary": "Install an integration on a space",
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "space"
                ],
                "properties": {
                  "space": {
                    "type": "string",
                    "description": "ID of the space to install the integration on"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "headers": {
              "Location": {
                "description": "URL for the installed integration",
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Integration installed successfully on space",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSpaceInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}": {
      "get": {
        "operationId": "getIntegrationSpaceInstallation",
        "summary": "Get an integration space installation",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Integration space installation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSpaceInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateIntegrationSpaceInstallation",
        "summary": "Update an integration space installation",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/spaceId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The space installation has been updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSpaceInstallation"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIntegrationSpaceInstallation"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "uninstallIntegrationFromSpace",
        "summary": "Uninstall an integration from a space",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/spaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "The space installation did not exist."
          },
          "205": {
            "description": "The space installation has been deleted."
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}/sites": {
      "get": {
        "operationId": "listIntegrationInstallationSites",
        "summary": "List all site integration installations",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/IntegrationSiteInstallation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "installIntegrationOnSite",
        "summary": "Install an integration on a site",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "siteId"
                ],
                "properties": {
                  "siteId": {
                    "type": "string",
                    "description": "ID of the site to install the integration on"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "headers": {
              "Location": {
                "description": "URL for the installed integration on the site",
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Integration installed successfully on site",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSiteInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/integrations/{integrationName}/installations/{installationId}/sites/{siteId}": {
      "get": {
        "operationId": "getIntegrationSiteInstallation",
        "summary": "Get an integration site installation",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Integration site installation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSiteInstallation"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateIntegrationSiteInstallation",
        "summary": "Update an integration site installation",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "extended",
            "in": "query",
            "description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The site installation has been updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IntegrationSiteInstallation"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIntegrationSiteInstallation"
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "uninstallIntegrationFromSite",
        "summary": "Uninstall an integration from a site",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/integrationName"
          },
          {
            "$ref": "#/components/parameters/installationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "204": {
            "description": "The site installation did not exist."
          },
          "205": {
            "description": "The site installation has been deleted."
          }
        }
      }
    },
    "/orgs": {
      "get": {
        "operationId": "listOrganizationsForAuthenticatedUser",
        "summary": "Get the list of organizations for the currently authenticated user",
        "tags": [
          "organizations",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Organization"
                          }
                        }
                      },
                      "required": [
                        "items"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}": {
      "get": {
        "operationId": "getOrganizationById",
        "summary": "Get an organization by its ID",
        "tags": [
          "organizations",
          "critical"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "404": {
            "description": "No matching organization found for given id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateOrganizationById",
        "summary": "Update an organization",
        "tags": [
          "organizations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/OrganizationTitle"
                  },
                  "emailDomains": {
                    "$ref": "#/components/schemas/OrganizationEmailDomains"
                  },
                  "hostname": {
                    "$ref": "#/components/schemas/OrganizationHostname"
                  },
                  "defaultRole": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  },
                  "defaultContent": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/OrganizationDefaultContent"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logo": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/URL"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "sso": {
                    "type": "boolean"
                  },
                  "ai": {
                    "type": "boolean"
                  },
                  "inviteLinks": {
                    "type": "boolean"
                  },
                  "mergeRules": {
                    "$ref": "#/components/schemas/MergeRulesStandaloneConfiguration"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The organization has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            }
          },
          "400": {
            "description": "Invalid default content space or collection provided",
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/members": {
      "get": {
        "operationId": "listMembersInOrganizationById",
        "summary": "List all organization members",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/listOrder"
          },
          {
            "name": "role",
            "description": "The Role to filter the member list by",
            "in": "query",
            "schema": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/MemberRole"
                },
                {
                  "type": "string",
                  "enum": [
                    "guest"
                  ]
                }
              ]
            }
          },
          {
            "name": "search",
            "in": "query",
            "description": "A query to filter the member list (displayName and email)",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "The property to sort the results by. When sorting by lastSeenAt, only active members will be listed.",
            "schema": {
              "type": "string",
              "default": "joinedAt",
              "enum": [
                "joinedAt",
                "lastSeenAt"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationMember"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/members/{userId}": {
      "get": {
        "operationId": "getMemberInOrganizationById",
        "summary": "Get an organization member by its ID",
        "tags": [
          "organization-members",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateMemberInOrganizationById",
        "summary": "Update an organization member",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "The member has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeMemberFromOrganizationById",
        "summary": "Delete an organization member",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "Member did not exist in the organization."
          },
          "205": {
            "description": "The member was deleted from the organization."
          }
        }
      }
    },
    "/orgs/{organizationId}/ping": {
      "post": {
        "operationId": "updateOrganizationMemberLastSeenAt",
        "summary": "Update an organization member last seen at",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "Organization member has been updated. Optionally returns a JWT token to attach to the user.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "gitbookVisitorClaims": {
                      "description": "A JTW token containing the claims to attach to this user.",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/members/{userId}/sso": {
      "post": {
        "operationId": "setUserAsSSOMemberForOrganization",
        "summary": "Set a user as an SSO member of an organization",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "200": {
            "description": "The user has been added as an SSO member of the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/members/{userId}/spaces": {
      "get": {
        "operationId": "listSpacesForOrganizationMember",
        "summary": "List an organization member space permissions",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/listOrder"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of spaces that can be accessed by the user in the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/MemberContentPermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/members/{userId}/teams": {
      "get": {
        "operationId": "listTeamsForOrganizationMember",
        "summary": "List all organization member teams",
        "tags": [
          "organization-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/userId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "in": "query",
            "name": "title",
            "description": "If provided, only teams whose name contains the given parameter will be returned. Case insensitive.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "required": [
                              "team",
                              "member"
                            ],
                            "properties": {
                              "team": {
                                "$ref": "#/components/schemas/OrganizationTeam"
                              },
                              "member": {
                                "$ref": "#/components/schemas/TeamMember"
                              }
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/teams": {
      "get": {
        "operationId": "listTeamsInOrganizationById",
        "summary": "List all teams",
        "tags": [
          "teams"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "in": "query",
            "name": "owner",
            "description": "The unique identifier of a member of the organization. Only teams they can manage will be returned.",
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "name": "title",
            "description": "If provided, only teams whose name contains the given parameter will be returned. Case insensitive.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationTeam"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "createOrganizationTeam",
        "summary": "Create a team",
        "tags": [
          "teams"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "201": {
            "description": "Team has been created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationTeam"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/OrganizationTeamTitle"
                  },
                  "members": {
                    "description": "A list of organization member identifiers",
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/teams/{teamId}": {
      "get": {
        "operationId": "getTeamInOrganizationById",
        "summary": "Get a team",
        "tags": [
          "teams"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationTeam"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateTeamInOrganizationById",
        "summary": "Update a team",
        "tags": [
          "teams"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "200": {
            "description": "The team has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationTeam"
                }
              }
            }
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/OrganizationTeamTitle"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "removeTeamFromOrganizationById",
        "summary": "Delete a team",
        "tags": [
          "teams"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "204": {
            "description": "The team did not exist in the organization."
          },
          "205": {
            "description": "The team was deleted from the organization."
          }
        }
      }
    },
    "/orgs/{organizationId}/teams/{teamId}/members": {
      "put": {
        "operationId": "updateMembersInOrganizationTeam",
        "summary": "Updates members of a team",
        "description": "Updates members of an organization team, either adding or removing them. If a the same user is included as both an add and a remove, they will be removed from the team.\n",
        "tags": [
          "team-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMembersInOrganizationTeam"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Members have been updated"
          }
        }
      },
      "get": {
        "operationId": "listTeamMembersInOrganizationById",
        "summary": "List all team members",
        "description": "Lists members, and their roles, for the specified organization team.\n",
        "tags": [
          "team-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationTeamMember"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/teams/{teamId}/members/{userId}": {
      "put": {
        "operationId": "addMemberToOrganizationTeamById",
        "summary": "Add a team member",
        "description": "Add or updates member in the specified organization team.\n",
        "tags": [
          "team-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/TeamMemberRole"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Member has been added to the team"
          }
        }
      },
      "delete": {
        "operationId": "deleteMemberFromOrganizationTeamById",
        "summary": "Delete a team member",
        "description": "Deletes member from the specified organization team.\n",
        "tags": [
          "team-members"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "Member was not part of the team"
          },
          "205": {
            "description": "Member has been deleted from the team"
          }
        }
      }
    },
    "/orgs/{organizationId}/invites": {
      "post": {
        "operationId": "inviteUsersToOrganization",
        "summary": "Invite users in an organization",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "users": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "The unique identifiers of the users who were added to the organization"
                      }
                    },
                    "invited": {
                      "type": "number",
                      "description": "The number of users who were added to the organization"
                    },
                    "failedSSOEmails": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "description": "A list of emails who were invited to the organization, but who were not added as SSO users as they are members of another org"
                      }
                    }
                  },
                  "required": [
                    "users",
                    "invited"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteUsersToOrganization"
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/invites/{inviteId}": {
      "post": {
        "operationId": "joinOrganizationWithInvite",
        "summary": "Join an organization with an invite",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/inviteId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/link-invites": {
      "get": {
        "operationId": "listOrganizationInviteLinks",
        "summary": "List organization invites",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "List of invite links in the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InviteLinkToOrganization"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createOrganizationInvite",
        "summary": "Create an organization invite",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationInvite"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The organization invite has been created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInviteLink"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/link-invites/{inviteId}": {
      "get": {
        "operationId": "getOrganizationInviteLink",
        "summary": "Get an organization by its ID",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/inviteId"
          }
        ],
        "responses": {
          "200": {
            "description": "Invite link in the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInviteLink"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateOrganizationInviteById",
        "summary": "Update an organization invite",
        "tags": [
          "organization-invites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/inviteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Update role of an organization invite",
                    "properties": {
                      "role": {
                        "$ref": "#/components/schemas/MemberRoleOrGuest"
                      }
                    },
                    "required": [
                      "role"
                    ]
                  },
                  {
                    "type": "object",
                    "description": "Update level of an organization content invite",
                    "properties": {
                      "level": {
                        "$ref": "#/components/schemas/MemberRoleOrGuest"
                      }
                    },
                    "required": [
                      "level"
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The organization invite has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInviteLink"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteOrganizationInviteById",
        "summary": "Deletes an organization invite.",
        "tags": [
          "organizations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/inviteId"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization invite did not exist"
          },
          "205": {
            "description": "The organization invite has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/join": {
      "post": {
        "operationId": "joinOrganization",
        "summary": "Join an organization",
        "description": "Join an organization if the user's verified email domain matches one of the organization's allowed email domains.\nThis endpoint allows existing users to join organizations they're eligible for based on their email domain.\n",
        "tags": [
          "organizations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Successfully joined the organization"
          },
          "400": {
            "description": "User's email domain is not valid",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "Organization not found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/search": {
      "get": {
        "operationId": "searchOrganizationContent",
        "summary": "Search content in an organization",
        "tags": [
          "organizations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 512
            }
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SearchSpaceResult"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/change-requests": {
      "get": {
        "operationId": "listChangeRequestsForOrganization",
        "summary": "List all change requests in an organization",
        "tags": [
          "change-requests"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "description": "If defined, only change requests matching the statuses will be returned.",
              "items": {
                "$ref": "#/components/schemas/ChangeRequestStatus"
              },
              "default": [
                "open"
              ]
            }
          },
          {
            "name": "creator",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests created by this user will be returned."
          },
          {
            "name": "contributor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests with contributions from this user will be returned."
          },
          {
            "name": "requestedReviewer",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests with a requested reviewer for this user will be returned."
          },
          {
            "name": "topic",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            },
            "description": "If defined, only change requests linked to this site topic will be returned."
          },
          {
            "name": "orderBy",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ChangeRequestOrderBy"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of the organization's change requests",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/spaces": {
      "get": {
        "operationId": "listSpacesInOrganizationById",
        "summary": "List all spaces",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Space"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSpace",
        "summary": "Create a space",
        "tags": [
          "spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSpace"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Space created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created space",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Space"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/collections": {
      "get": {
        "operationId": "listCollectionsInOrganizationById",
        "summary": "List all collections",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "nested",
            "in": "query",
            "description": "If true, all nested collections will be listed",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Collection"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createCollection",
        "summary": "Create a collection",
        "tags": [
          "collections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string",
                    "maxLength": 50
                  },
                  "parent": {
                    "type": "string",
                    "description": "ID of a parent collection"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Collection created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created collection",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Collection"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/integrations": {
      "get": {
        "operationId": "listOrganizationIntegrations",
        "summary": "List all public integrations along with private ones trusted by the specific org.",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/integrationSearchQuery"
          },
          {
            "$ref": "#/components/parameters/integrationSearchCategory"
          },
          {
            "$ref": "#/components/parameters/integrationSearchBlockDomain"
          },
          {
            "$ref": "#/components/parameters/integrationSearchBlocks"
          },
          {
            "$ref": "#/components/parameters/integrationSearchContentSources"
          },
          {
            "$ref": "#/components/parameters/integrationSearchOwner"
          },
          {
            "$ref": "#/components/parameters/integrationSearchScope"
          },
          {
            "$ref": "#/components/parameters/integrationSearchTarget"
          }
        ],
        "responses": {
          "200": {
            "description": "List of integrations.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Integration"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/integrations/{integrationName}/installation_status": {
      "get": {
        "operationId": "getOrganizationIntegrationStatus",
        "summary": "Get the status of an integration",
        "tags": [
          "integrations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/integrationName"
          }
        ],
        "responses": {
          "200": {
            "description": "Integration installation status",
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "status": {
                      "$ref": "#/components/schemas/IntegrationInstallationStatus"
                    }
                  },
                  "required": [
                    "status"
                  ]
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/installations": {
      "get": {
        "operationId": "listOrganizationInstallations",
        "summary": "List all integration installations",
        "tags": [
          "integrations"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/integrationSearchQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "List of integrations with the associated installations.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "installation": {
                                "$ref": "#/components/schemas/IntegrationInstallation"
                              },
                              "integration": {
                                "$ref": "#/components/schemas/Integration"
                              }
                            },
                            "required": [
                              "integration",
                              "installation"
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/integrations/installations-status": {
      "get": {
        "operationId": "listOrganizationIntegrationsStatus",
        "summary": "List all integration statuses",
        "tags": [
          "integrations",
          "critical"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "target",
            "in": "query",
            "description": "Filter installations by their target (organization, space, or site). When not provided, defaults to organization-level installations for backwards compatibility",
            "schema": {
              "type": "string",
              "default": "organization",
              "enum": [
                "organization",
                "space",
                "site"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "List of installed integrations and their statuses",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/InstalledIntegration"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/saml": {
      "get": {
        "operationId": "listSAMLProvidersInOrganizationById",
        "summary": "List all SAML providers",
        "description": "Lists SAML providers configured for the specified organization.\n",
        "tags": [
          "sso"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OrganizationSAMLProvider"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createOrganizationSAMLProvider",
        "summary": "Create a new SAML provider",
        "tags": [
          "sso"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/SAMLProviderLabel"
                  },
                  "entityID": {
                    "$ref": "#/components/schemas/SAMLProviderEntityID"
                  },
                  "certificate": {
                    "$ref": "#/components/schemas/SAMLProviderCertificate"
                  },
                  "ssoURL": {
                    "$ref": "#/components/schemas/URL"
                  },
                  "defaultTeam": {
                    "type": "string"
                  },
                  "defaultRole": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                },
                "required": [
                  "label"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "SAML Provider created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created SAML Provider",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationSAMLProvider"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/saml/{samlProviderId}": {
      "get": {
        "operationId": "getOrganizationSAMLProviderById",
        "summary": "Get a SAML provider by its ID",
        "tags": [
          "sso"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/samlProviderId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationSAMLProvider"
                }
              }
            }
          },
          "404": {
            "description": "No matching provider found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateOrganizationSAMLProvider",
        "summary": "Update a SAML provider",
        "tags": [
          "sso"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/samlProviderId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "label": {
                    "$ref": "#/components/schemas/SAMLProviderLabel"
                  },
                  "entityID": {
                    "$ref": "#/components/schemas/SAMLProviderEntityID"
                  },
                  "certificate": {
                    "$ref": "#/components/schemas/SAMLProviderCertificate"
                  },
                  "ssoURL": {
                    "$ref": "#/components/schemas/URL"
                  },
                  "defaultTeam": {
                    "type": "string"
                  },
                  "defaultRole": {
                    "$ref": "#/components/schemas/MemberRoleOrGuest"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "SAML provider has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationSAMLProvider"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteOrganizationSAMLProvider",
        "summary": "Delete a SAML provider",
        "tags": [
          "sso"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/samlProviderId"
          }
        ],
        "responses": {
          "204": {
            "description": "SAML provider did not exist"
          },
          "205": {
            "description": "SAML provider has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sso": {
      "get": {
        "operationId": "listSSOProviderLoginsInOrganization",
        "summary": "List all SSO provider login infos",
        "tags": [
          "sso"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "items"
                  ],
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/OrganizationSSOProviderLogin"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/ask": {
      "post": {
        "operationId": "askInOrganization",
        "summary": "Ask a question in an organization",
        "description": "Ask a question to an AI across spaces that is accessible by the currently authenticated target.",
        "tags": [
          "organization-ask"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "name": "details",
            "in": "query",
            "description": "Return query details in the result",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SearchAIQuery"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "answer": {
                      "$ref": "#/components/schemas/SearchAIAnswer"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/ask/questions": {
      "get": {
        "operationId": "getRecommendedQuestionsInOrganization",
        "summary": "List recommended questions to ask in an organization",
        "tags": [
          "organization-ask"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "security": [
          {
            "user": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SearchAIRecommendedQuestions"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/ask/questions/stream": {
      "get": {
        "operationId": "streamRecommendedQuestionsInOrganization",
        "summary": "List recommended questions to ask in an organization (streamed)",
        "tags": [
          "organization-ask"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "security": [
          {
            "user": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SearchAIRecommendedQuestionStream"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/ask/stream": {
      "get": {
        "operationId": "streamAskInOrganization",
        "summary": "Ask a question in an organization (streamed)",
        "description": "Ask a question to an AI across spaces that is accessible by the currently authenticated target and stream the answer as a Server-Sent Events URL.",
        "tags": [
          "organization-ask"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          },
          {
            "name": "details",
            "in": "query",
            "description": "Return query details in the result",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SearchAIAnswerStream"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi": {
      "get": {
        "operationId": "listOpenAPISpecs",
        "summary": "List all OpenAPI spec",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OpenAPISpec"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createOpenAPISpec",
        "summary": "Create an OpenAPI spec",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "slug": {
                    "$ref": "#/components/schemas/OpenAPISpecSlug"
                  },
                  "source": {
                    "$ref": "#/components/schemas/OpenAPISpecSource"
                  }
                },
                "required": [
                  "source",
                  "slug"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "OpenAPI specification has been created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpec"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}": {
      "get": {
        "operationId": "getOpenAPISpecBySlug",
        "summary": "Get an OpenAPI spec by its slug",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpec"
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "put": {
        "operationId": "createOrUpdateOpenAPISpecBySlug",
        "summary": "Create or update an OpenAPI spec",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/OpenAPISpecSource"
                  }
                },
                "required": [
                  "source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OpenAPI specification has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpec"
                }
              }
            }
          },
          "201": {
            "description": "OpenAPI specification has been created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpec"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "patch": {
        "operationId": "updateOpenAPISpecBySlug",
        "summary": "Update OpenAPI spec visibility",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "visibility": {
                    "$ref": "#/components/schemas/OpenAPISpecVisibility"
                  }
                },
                "required": [
                  "visibility"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OpenAPI specification visibility has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpec"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching OpenAPI specification found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "deleteOpenAPISpecBySlug",
        "summary": "Delete an OpenAPI spec",
        "tags": [
          "openapi"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "responses": {
          "204": {
            "description": "Specification did not exist"
          },
          "205": {
            "description": "OpenAPI specification has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}/versions": {
      "get": {
        "operationId": "listOpenAPISpecVersions",
        "summary": "List all OpenAPI spec versions",
        "tags": [
          "openapi-versions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/OpenAPISpecVersion"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}/versions/latest": {
      "get": {
        "operationId": "getLatestOpenAPISpecVersion",
        "summary": "Get the latest OpenAPI spec version",
        "tags": [
          "openapi-versions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpecVersion"
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification version found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}/versions/latest/content": {
      "get": {
        "operationId": "getLatestOpenAPISpecVersionContent",
        "summary": "Get the latest OpenAPI spec version content",
        "tags": [
          "openapi-versions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpecContent"
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification version found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}/versions/{versionId}": {
      "get": {
        "operationId": "getOpenAPISpecVersionById",
        "summary": "Get an OpenAPI spec version by its ID",
        "tags": [
          "openapi-versions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          },
          {
            "$ref": "#/components/parameters/openapiSpecVersionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpecVersion"
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification version found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/openapi/{specSlug}/versions/{versionId}/content": {
      "get": {
        "operationId": "getOpenAPISpecVersionContentById",
        "summary": "Get an OpenAPI spec version content by its ID",
        "tags": [
          "openapi-versions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/openapiSpecSlug"
          },
          {
            "$ref": "#/components/parameters/openapiSpecVersionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenAPISpecContent"
                }
              }
            }
          },
          "404": {
            "description": "No matching OpenAPI specification version found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/agent-instructions": {
      "get": {
        "operationId": "getOrganizationAgentInstructions",
        "summary": "Get Docs agent instructions for an organization",
        "tags": [
          "organizations",
          "agents"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAgentInstructions"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "updateOrganizationAgentInstructions",
        "summary": "Update Docs agent instructions for an organization",
        "tags": [
          "organizations",
          "agents"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "instructions"
                ],
                "properties": {
                  "instructions": {
                    "$ref": "#/components/schemas/JSONDocument",
                    "description": "Document describing the Docs agent instructions."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Updated instructions",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAgentInstructions"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/translations": {
      "get": {
        "operationId": "listTranslations",
        "summary": "List all the translations",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Translation"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createTranslation",
        "summary": "Create a translation",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/TranslationSource"
                  },
                  "language": {
                    "$ref": "#/components/schemas/TranslationLanguage"
                  },
                  "instructions": {
                    "$ref": "#/components/schemas/JSONDocument"
                  }
                },
                "required": [
                  "language",
                  "source"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Translation has been created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Translation"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/translations/{translationId}": {
      "get": {
        "operationId": "getTranslation",
        "summary": "Get a translation by its ID",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/translationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Translation"
                }
              }
            }
          },
          "404": {
            "description": "No matching translation found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "put": {
        "operationId": "updateTranslation",
        "summary": "Update a translation",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/translationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "instructions"
                ],
                "properties": {
                  "instructions": {
                    "$ref": "#/components/schemas/JSONDocument"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Translation has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Translation"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "delete": {
        "operationId": "deleteTranslation",
        "summary": "Delete a translation",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/translationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Translation did not exist"
          },
          "205": {
            "description": "Translation has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/translations/{translationId}/run": {
      "post": {
        "operationId": "runTranslation",
        "summary": "Run a translation again",
        "tags": [
          "translations"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/translationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Translation run triggered"
          },
          "404": {
            "description": "No matching translation found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/translations-glossary": {
      "get": {
        "operationId": "listGlossaryEntries",
        "summary": "List glossary entries",
        "tags": [
          "glossary"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "Sort results by language key",
            "schema": {
              "$ref": "#/components/schemas/TranslationLanguage"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/GlossaryEntry"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "updateGlossaryEntries",
        "summary": "Update glossary entries",
        "tags": [
          "glossary"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "operations": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/GlossaryBatchOperation"
                    }
                  }
                },
                "required": [
                  "operations"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Glossary entries updated"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/translations-glossary/{glossaryEntryId}": {
      "get": {
        "operationId": "getGlossaryEntry",
        "summary": "Get a glossary entry by its ID",
        "tags": [
          "glossary"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/glossaryEntryId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GlossaryEntry"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/storage/upload": {
      "post": {
        "operationId": "generateStorageUploadURL",
        "summary": "Create a signed URL to upload a file",
        "description": "Generate a pre-signed URL that can be used to upload a file to storage",
        "tags": [
          "storage"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "file",
                  "kind"
                ],
                "properties": {
                  "file": {
                    "$ref": "#/components/schemas/StorageFileMetadata"
                  },
                  "kind": {
                    "$ref": "#/components/schemas/StorageUploadKind"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successfully generated signed URL for file upload",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageUploadURL"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/fonts": {
      "get": {
        "operationId": "listCustomFonts",
        "summary": "List all custom fonts",
        "tags": [
          "custom-fonts"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/CustomizationFontDefinition"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "put": {
        "operationId": "createCustomFont",
        "summary": "Create a custom font",
        "tags": [
          "custom-fonts"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "Defines a custom font and associated font faces with storage references.",
                "properties": {
                  "fontFamily": {
                    "$ref": "#/components/schemas/FontFamily"
                  },
                  "fontFaces": {
                    "type": "array",
                    "description": "Array of font faces specifying weights and their corresponding storage keys.\nAt least one font face with weight 400 (regular) must be provided.\n",
                    "items": {
                      "type": "object",
                      "properties": {
                        "weight": {
                          "$ref": "#/components/schemas/FontWeight"
                        },
                        "storageKey": {
                          "$ref": "#/components/schemas/StorageFileKey"
                        }
                      },
                      "required": [
                        "weight",
                        "storageKey"
                      ]
                    },
                    "minItems": 1
                  }
                },
                "required": [
                  "fontFamily",
                  "fontFaces"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Custom font created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFontDefinition"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "412": {
            "description": "Invalid request data, such as missing required font weights.",
            "$ref": "#/components/responses/PreconditionFailedError"
          }
        }
      }
    },
    "/orgs/{organizationId}/fonts/{fontId}": {
      "get": {
        "operationId": "getCustomFont",
        "summary": "Get a custom font by its ID",
        "tags": [
          "custom-fonts"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/fontId"
          }
        ],
        "responses": {
          "200": {
            "description": "Custom font.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFontDefinition"
                }
              }
            }
          },
          "404": {
            "description": "Organization or font not found.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "post": {
        "operationId": "updateCustomFont",
        "summary": "Update a custom font",
        "tags": [
          "custom-fonts"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/fontId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "Defines a custom font and associated font faces with storage references.",
                "properties": {
                  "fontFamily": {
                    "$ref": "#/components/schemas/FontFamily"
                  },
                  "fontFaces": {
                    "type": "array",
                    "description": "Array of font faces specifying weights and their corresponding storage keys. Passing null as the storage key will remove that weight.\n",
                    "items": {
                      "type": "object",
                      "properties": {
                        "weight": {
                          "$ref": "#/components/schemas/FontWeight"
                        },
                        "storageKey": {
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/StorageFileKey"
                            },
                            {
                              "type": "null"
                            }
                          ]
                        }
                      },
                      "required": [
                        "weight",
                        "storageKey"
                      ]
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Custom font created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomizationFontDefinition"
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "412": {
            "description": "Invalid request data, such as missing required font weights.",
            "$ref": "#/components/responses/PreconditionFailedError"
          }
        }
      },
      "delete": {
        "operationId": "deleteCustomFont",
        "summary": "Delete a custom font",
        "tags": [
          "custom-fonts"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/fontId"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization or font not found."
          },
          "205": {
            "description": "Custom font deleted successfully."
          }
        }
      }
    },
    "/org/{organizationId}/imports": {
      "post": {
        "operationId": "startImportRun",
        "summary": "Import content into a space from a website",
        "tags": [
          "imports"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/ContentImportSource"
                  },
                  "target": {
                    "$ref": "#/components/schemas/ContentImportTarget"
                  },
                  "enhance": {
                    "description": "Enhance the imported content with AI",
                    "default": true,
                    "type": "boolean"
                  }
                },
                "required": [
                  "source",
                  "target"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Import run created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentImportRun"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/org/{organizationId}/imports/{importRunId}/cancel": {
      "post": {
        "operationId": "cancelImportRun",
        "summary": "Cancel an import run",
        "tags": [
          "imports"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/importRunId"
          }
        ],
        "responses": {
          "201": {
            "description": "Import run canceled successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentImportRun"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites": {
      "get": {
        "operationId": "listSites",
        "summary": "List all sites",
        "tags": [
          "sites",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "space",
            "in": "query",
            "description": "Identifier of the space to filter the sites by",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "title",
            "in": "query",
            "description": "Filter sites by their title",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "published",
            "in": "query",
            "description": "Filter sites by their published status",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter by site type",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SiteType"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Site"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSite",
        "summary": "Create a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "type": {
                    "description": "The type of the site, defaults to Basic",
                    "$ref": "#/components/schemas/SiteType"
                  },
                  "title": {
                    "$ref": "#/components/schemas/SiteTitle"
                  },
                  "visibility": {
                    "$ref": "#/components/schemas/SiteVisibility"
                  },
                  "spaces": {
                    "type": "array",
                    "description": "ID of spaces to be added to the site",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Site created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created site",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}": {
      "get": {
        "operationId": "getSiteById",
        "summary": "Get a site by its ID",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            }
          },
          "404": {
            "description": "No matching site found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "patch": {
        "operationId": "updateSiteById",
        "summary": "Update a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/SiteTitle"
                  },
                  "visibility": {
                    "$ref": "#/components/schemas/SiteVisibility"
                  },
                  "basename": {
                    "$ref": "#/components/schemas/SiteBasename"
                  },
                  "adaptiveContent": {
                    "$ref": "#/components/schemas/SiteAdaptiveContent"
                  },
                  "defaultSiteSpace": {
                    "type": "string",
                    "description": "ID of the site-space to be used as the default at the root level. If site has sections, this will mark the default site space in the site's default section."
                  },
                  "defaultSiteSection": {
                    "type": "string",
                    "description": "ID of the site-section to be used as the default."
                  },
                  "proxy": {
                    "description": "Configure a proxy URL for a site. For example, you can use it to host the site on a subdirectory of your domain like `https://company.com/docs`.\nUse `null` to remove the proxy.\n",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/SiteProxyOrigin"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteById",
        "summary": "Delete a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site did not exist"
          },
          "205": {
            "description": "Site has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/adaptive-schema": {
      "get": {
        "operationId": "getSiteAdaptiveSchema",
        "summary": "Get the JSON schema describing the attributes expected for an Adaptive content site visitor.",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "The JSON schema that defines the attributes expected from a visitor of the Adaptive content site.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteAdaptiveSchema"
                }
              }
            }
          },
          "404": {
            "description": "No visitor attributes schema found for the site.",
            "$ref": "#/components/responses/NotFoundError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      },
      "put": {
        "operationId": "updateSiteAdaptiveSchema",
        "summary": "Update the JSON schema of the attributes expected for an Adaptive content site visitor.",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "jsonSchema": {
                    "description": "The JSON schema to set on the site.",
                    "$ref": "#/components/schemas/SiteAdaptiveJSONSchema"
                  }
                },
                "required": [
                  "jsonSchema"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The site adaptive schema has been updated.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteAdaptiveSchema"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/adaptive-schema/template-conditions": {
      "get": {
        "operationId": "listSiteAdaptiveTemplateConditions",
        "summary": "List templates of conditions generated based on the site visitor schema that can be used in adaptive content expressions.",
        "tags": [
          "sites"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of template conditions generated based on the site visitor schema.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SiteAdaptiveTemplateCondition"
                      }
                    }
                  },
                  "required": [
                    "items"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/published": {
      "get": {
        "operationId": "getPublishedContentSite",
        "summary": "Get a published site",
        "description": "Get the complete profile of a site in an organization to provide the published experience. It includes site, customization, structure, integration scripts etc.",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishedContentSite"
                }
              }
            }
          },
          "404": {
            "description": "No matching site found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/publish": {
      "post": {
        "operationId": "publishSite",
        "summary": "Publish a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "Site published successfully",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/Site"
                    },
                    {
                      "type": "object",
                      "description": "User needs to checkout in order to publish the site.",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "checkout"
                          ]
                        },
                        "sessionId": {
                          "type": "string",
                          "description": "Stripe payment session ID"
                        }
                      },
                      "required": [
                        "type",
                        "sessionId"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/unpublish": {
      "post": {
        "operationId": "unpublishSite",
        "summary": "Unpublish a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "Site unpublished successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Site"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/share-links": {
      "get": {
        "operationId": "listSiteShareLinks",
        "summary": "List all share links",
        "tags": [
          "site-share-links"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search share links by name or key",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ShareLink"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSiteShareLink",
        "summary": "Create a share link",
        "tags": [
          "site-share-links"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/components/schemas/ShareLinkName"
                  }
                },
                "required": [
                  "name"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The share link has been created",
            "headers": {
              "Location": {
                "description": "API URL for the newly created share link",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShareLink"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/share-links/{shareLinkId}": {
      "patch": {
        "operationId": "updateSiteShareLinkById",
        "summary": "Update a share link",
        "tags": [
          "site-share-links"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/shareLinkId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "minProperties": 1,
                "properties": {
                  "active": {
                    "type": "boolean"
                  },
                  "name": {
                    "$ref": "#/components/schemas/ShareLinkName"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The site share link has been updated",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ShareLink"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteShareLinkById",
        "summary": "Deletes a share link",
        "tags": [
          "site-share-links"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/shareLinkId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site share link did not exist"
          },
          "205": {
            "description": "Site share link has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/structure": {
      "get": {
        "operationId": "getSiteStructure",
        "summary": "Get a site structure",
        "description": "Get the complete structure of a site that includes all its site-sections and site-spaces.",
        "tags": [
          "site-structure"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteStructure"
                }
              }
            }
          },
          "404": {
            "description": "No matching site found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/structure/sort": {
      "patch": {
        "operationId": "sortSiteStructure",
        "summary": "Move a site space, site section or site section group to a new position in the site structure.",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "item": {
                    "description": "pointer to the item (site space, site section or site section group) being moved.",
                    "$ref": "#/components/schemas/SiteStructureItemPointer"
                  },
                  "position": {
                    "description": "The position to move the item to. When not provided the item is moved to the end of the site structure.",
                    "$ref": "#/components/schemas/SiteStructureItemMovePosition"
                  }
                },
                "required": [
                  "item",
                  "position"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Item successfully moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteStructureItem"
                }
              }
            }
          },
          "400": {
            "description": "Invalid move position provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching item found",
            "$ref": "#/components/responses/NotFoundError"
          },
          "default": {
            "$ref": "#/components/responses/UnexpectedError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/publishing/auth": {
      "get": {
        "operationId": "getSitePublishingAuthById",
        "summary": "Get a site auth config",
        "tags": [
          "site-publishing-auth"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SitePublishingAuth"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "patch": {
        "operationId": "updateSitePublishingAuthById",
        "summary": "Update a site auth config",
        "tags": [
          "site-publishing-auth"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SitePublishingAuthUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SitePublishingAuth"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/publishing/auth/regenerate": {
      "post": {
        "operationId": "regenerateSitePublishingAuthById",
        "summary": "Regenerate a site auth",
        "description": "Regenerate the publishing authentication settings for a site. This will re-generate the private key.",
        "tags": [
          "site-publishing-auth"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SitePublishingAuth"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/publishing/preview": {
      "get": {
        "operationId": "getSitePublishingPreviewById",
        "summary": "Get a site preview URL",
        "description": "Generate a URL to preview the published content of a site. The URL will be valid for 1 hour.",
        "tags": [
          "site-preview"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "siteSpace",
            "in": "query",
            "description": "ID of the site-space to preview. If not provided, the default site-space will be used.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "claims",
            "in": "query",
            "description": "Rison encoded string of attributes/assertions about the visitor for which we want to preview the site.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "draft",
            "in": "query",
            "description": "Whether to include draft content in the preview. Defaults to true",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "target",
            "in": "query",
            "description": "Target URL of the preview. If not provided, the default site preview URL will be used.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "url": {
                      "$ref": "#/components/schemas/URL"
                    }
                  },
                  "required": [
                    "url"
                  ]
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/customization": {
      "get": {
        "operationId": "getSiteCustomizationById",
        "summary": "Get a site customization settings",
        "tags": [
          "site-customization"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteCustomizationUnmasked"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteCustomizationSettings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "put": {
        "operationId": "updateSiteCustomizationById",
        "summary": "Update a site customization settings",
        "tags": [
          "site-customization"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SiteCustomizationSettingsInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteCustomizationSettings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/integration-scripts": {
      "get": {
        "operationId": "listSiteIntegrationScripts",
        "summary": "List the scripts to embed in published content for a site.",
        "tags": [
          "integrations",
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SiteIntegrationScript"
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/integrations": {
      "get": {
        "operationId": "listSiteIntegrations",
        "summary": "List integrations enabled in a site.",
        "tags": [
          "integrations",
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/integrationSearchQuery"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of integrations enabled in the site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Integration"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/site-spaces": {
      "post": {
        "operationId": "addSpaceToSite",
        "summary": "Add a space to a site",
        "tags": [
          "site-spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "spaceId": {
                    "type": "string",
                    "description": "ID of the space"
                  },
                  "sectionId": {
                    "type": "string",
                    "description": "ID of the section to add the space to. If not provided, the space will be added to the default section or at the root level if the site has no sections."
                  }
                },
                "required": [
                  "spaceId"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Space added to the site",
            "headers": {
              "Location": {
                "description": "API URL for the newly created site-space relationship",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSpace"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listSiteSpaces",
        "summary": "List all the site spaces",
        "tags": [
          "site-spaces",
          "critical"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "default",
            "in": "query",
            "description": "If true, only the default site space will be returned. If false, only the non-default site spaces are returned. If undefined, all site spaces are returned.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteSpace"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/section-groups": {
      "get": {
        "operationId": "listSiteSectionGroups",
        "summary": "List all site section groups",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteSectionGroup"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "addSectionGroupToSite",
        "summary": "Add a section group to a site",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/SiteSectionGroupTitle"
                  },
                  "icon": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Icon"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "sections": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "description": "IDs of the sections to be added to the section group"
                  },
                  "parent": {
                    "type": "string",
                    "description": "ID of the parent section group to nest this group under. If not provided, the section group will be added at the root of the site."
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Section group added to the site",
            "headers": {
              "Location": {
                "description": "API URL for the newly created site-section-group relationship",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSectionGroup"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/section-groups/{siteSectionGroupId}": {
      "patch": {
        "operationId": "updateSiteSectionGroupById",
        "summary": "Update a site section group",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionGroupId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/SiteSectionGroupTitle"
                  },
                  "localizedTitle": {
                    "$ref": "#/components/schemas/LocalizedString"
                  },
                  "icon": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Icon"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSectionGroup"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteSectionGroupById",
        "summary": "Delete a site section group",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionGroupId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site section group did not exist"
          },
          "205": {
            "description": "Site section group has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/section-groups/{siteSectionGroupId}/sections": {
      "post": {
        "operationId": "addSectionToGroup",
        "summary": "Add a section to a section group",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionGroupId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "sectionId": {
                    "type": "string",
                    "description": "ID of the section to add to the section group"
                  }
                },
                "required": [
                  "sectionId"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Section added to the section group",
            "headers": {
              "Location": {
                "description": "API URL for the newly created site-section-group relationship",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSectionGroup"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/section-groups/{siteSectionGroupId}/sections/{siteSectionId}": {
      "delete": {
        "operationId": "removeSectionFromGroup",
        "summary": "Remove a section from a section group",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionGroupId"
          },
          {
            "$ref": "#/components/parameters/siteSectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "Section was not part of the group"
          },
          "205": {
            "description": "Section has been removed from the section group"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/sections": {
      "post": {
        "operationId": "addSectionToSite",
        "summary": "Add a section to a site",
        "tags": [
          "site-sections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "spaceId": {
                    "type": "string",
                    "description": "ID of the space to be added to the section as a site space variant"
                  },
                  "title": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/SiteSectionTitle"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "icon": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Icon"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "required": [
                  "spaceId"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Section added to the site",
            "headers": {
              "Location": {
                "description": "API URL for the newly created site-section relationship",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSection"
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listSiteSections",
        "summary": "List all site sections",
        "tags": [
          "site-sections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteSection"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/sections/{siteSectionId}": {
      "patch": {
        "operationId": "updateSiteSectionById",
        "summary": "Update a site section",
        "tags": [
          "site-sections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "title": {
                    "$ref": "#/components/schemas/SiteSectionTitle"
                  },
                  "localizedTitle": {
                    "$ref": "#/components/schemas/LocalizedString"
                  },
                  "path": {
                    "$ref": "#/components/schemas/SiteSectionPath"
                  },
                  "defaultSiteSpace": {
                    "type": "string",
                    "description": "ID of the site-space to be used as the default in this section."
                  },
                  "condition": {
                    "description": "Conditional expression used to evaluate whether the site section should be shown to the site's visitor (should evaluate to a boolean). If not set, the condition will remain unchanged. If set to null, the condition will be removed.",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Expression"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "icon": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Icon"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "description": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/SiteSectionDescription"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "localizedDescription": {
                    "$ref": "#/components/schemas/LocalizedSectionDescription"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSection"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteSectionById",
        "summary": "Delete a site section",
        "tags": [
          "site-sections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site section did not exist"
          },
          "205": {
            "description": "Site section has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/search": {
      "post": {
        "operationId": "searchSiteContent",
        "summary": "Search in a site",
        "tags": [
          "sites"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "required": [
                      "query"
                    ],
                    "properties": {
                      "query": {
                        "type": "string",
                        "maxLength": 512
                      }
                    }
                  },
                  {
                    "oneOf": [
                      {
                        "type": "object",
                        "required": [
                          "scope"
                        ],
                        "properties": {
                          "scope": {
                            "description": "Define the scope of the search.",
                            "$ref": "#/components/schemas/SiteSearchScope"
                          }
                        }
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "description": "Search only in the site spaces provided. Deprecated, use scope instead.",
                            "deprecated": true,
                            "type": "string",
                            "enum": [
                              "specific"
                            ]
                          },
                          "siteSpaceIds": {
                            "type": "array",
                            "minLength": 1,
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "required": [
                          "siteSpaceIds"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "description": "Search in the current site space and all section's defaults. Deprecated, use scope instead.",
                            "deprecated": true,
                            "type": "string",
                            "enum": [
                              "current"
                            ]
                          },
                          "siteSpaceId": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "mode",
                          "siteSpaceId"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "mode": {
                            "description": "Search in all site-spaces. Deprecated, use scope instead.",
                            "deprecated": true,
                            "type": "string",
                            "enum": [
                              "all"
                            ]
                          }
                        },
                        "required": [
                          "mode"
                        ]
                      }
                    ]
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/SearchSpaceResult"
                              },
                              {
                                "$ref": "#/components/schemas/SearchRecordResult"
                              }
                            ],
                            "discriminator": {
                              "propertyName": "type"
                            }
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/ask": {
      "post": {
        "operationId": "streamAskInSite",
        "summary": "Ask a question in a site",
        "description": "The response is streamed.",
        "tags": [
          "site-ask"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/documentFormat"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "question",
                  "scope"
                ],
                "properties": {
                  "question": {
                    "type": "string",
                    "maxLength": 512
                  },
                  "context": {
                    "type": "object",
                    "description": "You may optionally provide additional information about the context of the question. This doesn't affect the scope of the search, but GitBook may use this information to provide a better answer. Generally speaking, you should provide as much context as possible.\n",
                    "properties": {
                      "siteSpaceId": {
                        "type": "string"
                      }
                    }
                  },
                  "scope": {
                    "$ref": "#/components/schemas/SiteSearchScope"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SearchAIAnswerStream"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/ask/questions": {
      "get": {
        "operationId": "streamRecommendedQuestionsInSite",
        "summary": "List recommended questions to ask in a site",
        "description": "The response is streamed.",
        "tags": [
          "site-ask"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "siteSpaceId",
            "in": "query",
            "description": "The ID of the site space to filter the recommended questions for.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "spaceId",
            "in": "query",
            "description": "The ID of the space to filter the recommended questions for.",
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/SearchAIRecommendedQuestionStream"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/context-records": {
      "get": {
        "operationId": "listSiteContextRecords",
        "summary": "List all context records",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter context records by type.",
            "schema": {
              "$ref": "#/components/schemas/ContextRecordType"
            }
          },
          {
            "name": "connector",
            "in": "query",
            "description": "Filter context records by connector type.",
            "schema": {
              "$ref": "#/components/schemas/ContextConnector"
            }
          },
          {
            "name": "connection",
            "in": "query",
            "description": "Filter context records by connection id.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "topic",
            "in": "query",
            "description": "Filter context records by associated site topic ID.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContextRecord"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "upsertSiteContextRecords",
        "summary": "Create or update context records",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContextRecordInput"
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "The context records have been created or updated"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/context-records/{siteContextRecordId}": {
      "get": {
        "operationId": "getSiteContextRecordById",
        "summary": "Get a context record",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteContextRecordId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextRecord"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues": {
      "get": {
        "operationId": "listSiteIssues",
        "summary": "List all site context issues",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "topic",
            "in": "query",
            "description": "Filter issues by associated site topic ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter issues by status.",
            "schema": {
              "$ref": "#/components/schemas/SiteIssueStatus"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter issues by type.",
            "schema": {
              "$ref": "#/components/schemas/SiteIssueType"
            }
          },
          {
            "name": "priority",
            "in": "query",
            "description": "Filter issues by estimated priority.",
            "schema": {
              "$ref": "#/components/schemas/SiteIssuePriority"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteIssue"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues/{siteIssueId}": {
      "get": {
        "operationId": "getSiteIssueById",
        "summary": "Get a site issue by ID",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteIssue"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateSiteIssueById",
        "summary": "Update a site issue",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "open",
                      "canceled"
                    ]
                  }
                },
                "required": [
                  "status"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteIssue"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues/{siteIssueId}/change-requests": {
      "get": {
        "operationId": "listChangeRequestsForSiteIssue",
        "summary": "List change requests linked to a site issue",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of change requests linked to the site issue",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ChangeRequest"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "triggerChangeRequestsForSiteIssue",
        "summary": "Process a site issue into change requests",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "202": {
            "description": "Site issue processing has been started"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues/{siteIssueId}/pages": {
      "get": {
        "operationId": "listPagesForSiteIssue",
        "summary": "List pages linked to a site issue",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of pages linked to the site issue",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteIssuePage"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues/{siteIssueId}/questions": {
      "get": {
        "operationId": "listQuestionsForSiteIssue",
        "summary": "List questions linked to a site issue",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of questions linked to the site issue",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteQuestion"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/issues/{siteIssueId}/records": {
      "get": {
        "operationId": "listRecordsForSiteIssue",
        "summary": "List records linked to a site issue",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteIssueId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of records linked to the site issue",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContextRecord"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/context-connections": {
      "get": {
        "operationId": "listSiteContextConnections",
        "summary": "List all context connections",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/ContextConnection"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSiteContextConnection",
        "summary": "Create a context connection",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ContextConnectorSetup"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "usageSettings": {
                        "$ref": "#/components/schemas/ContextUsageSettings"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created connection",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextConnection"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/context-connections/{siteContextConnectionId}": {
      "get": {
        "operationId": "getSiteContextConnectionById",
        "summary": "Get a context connection",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteContextConnectionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextConnection"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateSiteContextConnectionById",
        "summary": "Update a context connection",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteContextConnectionId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/ContextConnectorSetup"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "usageSettings": {
                        "$ref": "#/components/schemas/ContextUsageSettings"
                      },
                      "label": {
                        "$ref": "#/components/schemas/ContextConnectionLabel"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContextConnection"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteContextConnectionById",
        "summary": "Delete a context connection",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteContextConnectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "Context connection did not exist"
          },
          "205": {
            "description": "Context connection deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/context-connections/{siteContextConnectionId}/sync": {
      "post": {
        "operationId": "syncSiteContextConnection",
        "summary": "Trigger a sync for a context connection",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteContextConnectionId"
          }
        ],
        "responses": {
          "204": {
            "description": "Sync started"
          },
          "400": {
            "description": "Connection was synced less than an hour ago or invalid connector",
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/topics": {
      "get": {
        "operationId": "listSiteTopics",
        "summary": "List all topics",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Filter stats to answers created at or after this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Filter stats to answers created at or before this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "items"
                  ],
                  "properties": {
                    "items": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/SiteTopic"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/topics/{siteTopicId}": {
      "get": {
        "operationId": "getSiteTopicById",
        "summary": "Get a topic",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteTopicId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTopic"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateSiteTopicById",
        "summary": "Update a topic",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteTopicId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "usageSettings": {
                    "$ref": "#/components/schemas/SiteTopicUsageSettings"
                  }
                },
                "required": [
                  "usageSettings"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteTopic"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/topics/{siteTopicId}/issues": {
      "delete": {
        "operationId": "deleteSiteTopicIssues",
        "summary": "Delete all issues for a topic",
        "tags": [
          "site-context"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteTopicId"
          }
        ],
        "responses": {
          "204": {
            "description": "Topic had no issues or did not exist"
          },
          "205": {
            "description": "Topic issues deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/questions": {
      "get": {
        "operationId": "listSiteQuestions",
        "summary": "List all questions in a site",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Filter stats to answers created at or after this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Filter stats to answers created at or before this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Filter questions by question type.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionType"
            }
          },
          {
            "name": "answered",
            "in": "query",
            "description": "Filter questions by answer resolution.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionAnswerResolution"
            }
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteQuestion"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/questions/{siteQuestionId}": {
      "get": {
        "operationId": "getSiteQuestionById",
        "summary": "Get a site question by ID",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteQuestionId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteQuestion"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/questions/{siteQuestionId}/sources": {
      "get": {
        "operationId": "listSiteQuestionSources",
        "summary": "List sources for a question",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteQuestionId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteQuestionAnswerSource"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/question-stats": {
      "get": {
        "operationId": "getSiteQuestionStats",
        "summary": "Get question stats for a site",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "from",
            "in": "query",
            "description": "Filter stats to answers created at or after this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Filter stats to answers created at or before this timestamp.",
            "schema": {
              "$ref": "#/components/schemas/Timestamp"
            }
          },
          {
            "name": "topic",
            "in": "query",
            "description": "Filter stats by associated site topic IDs.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "relevance",
            "in": "query",
            "description": "Filter stats by question relevance.",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/SiteQuestionAnswerRelevance"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteQuestionStats"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/answers": {
      "get": {
        "operationId": "listSiteQuestionAnswers",
        "summary": "List all answers for a site",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "name": "question",
            "in": "query",
            "description": "Filter answers to a specific site question ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "language",
            "in": "query",
            "description": "Filter answers by ISO language code.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "answered",
            "in": "query",
            "description": "Filter answers by answered resolution.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionAnswerResolution"
            }
          },
          {
            "name": "helpfulness",
            "in": "query",
            "description": "Filter answers by answered helpfulness.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionAnswerHelpfulness"
            }
          },
          {
            "name": "relevance",
            "in": "query",
            "description": "Filter answers by question relevance.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionAnswerRelevance"
            }
          },
          {
            "name": "question.type",
            "in": "query",
            "description": "Filter answers by question type.",
            "schema": {
              "$ref": "#/components/schemas/SiteQuestionType"
            }
          },
          {
            "name": "topic",
            "in": "query",
            "description": "Filter answers by associated site topic ID.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "thread",
            "in": "query",
            "description": "Filter answers by thread root answer ID. Includes the root answer itself.",
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteQuestionAnswer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/answers/{siteQuestionAnswerId}": {
      "get": {
        "operationId": "getSiteQuestionAnswerById",
        "summary": "Get a site answer by ID",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteQuestionAnswerId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteQuestionAnswerWithResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/answers/{siteQuestionAnswerId}/thread": {
      "get": {
        "operationId": "getSiteQuestionAnswerThreadById",
        "summary": "Get a site answer thread by answer ID",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteQuestionAnswerId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SiteQuestionAnswerWithResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/answers/{siteQuestionAnswerId}/sources": {
      "get": {
        "operationId": "listSiteQuestionAnswerSources",
        "summary": "List the sources for an answer",
        "tags": [
          "site-questions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteQuestionAnswerId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteQuestionAnswerSource"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/site-spaces/{siteSpaceId}": {
      "patch": {
        "operationId": "updateSiteSpaceById",
        "summary": "Update a site space",
        "tags": [
          "site-spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "$ref": "#/components/schemas/SiteSpacePath"
                  },
                  "condition": {
                    "description": "Conditional expression used to evaluate whether the site space should be shown to the site's visitor (should evaluate to a boolean). If not set, the condition will remain unchanged. If set to null, the condition will be removed.",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/Expression"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "spaceId": {
                    "type": "string",
                    "description": "The content that this site space points to. If not set, the space will remain unchanged."
                  },
                  "hidden": {
                    "type": "boolean",
                    "description": "Whether the site space is hidden. If true, the site space will not be shown in the site's navigation. If not set, the hidden state will remain unchanged. If set to false, the site space will be shown in site navigation."
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSpace"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteSpaceById",
        "summary": "Delete a site space",
        "tags": [
          "site-spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site space did not exist"
          },
          "205": {
            "description": "Site space has been deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/site-spaces/{siteSpaceId}/customization": {
      "get": {
        "operationId": "getSiteSpaceCustomizationById",
        "summary": "Get a site space customization settings",
        "tags": [
          "site-customization"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          },
          {
            "$ref": "#/components/parameters/siteCustomizationUnmasked"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteCustomizationSettings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "patch": {
        "operationId": "overrideSiteSpaceCustomizationById",
        "summary": "Override a site space customization settings",
        "tags": [
          "site-customization"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "description": "The settings that overrides the site customization settings.",
                "type": "object",
                "properties": {
                  "title": {
                    "description": "Title to use for the published site variant. If not defined, the title will not be changed. If set to null, the title will be unset and will fallback to the content title.",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/SiteTitle"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "localizedTitle": {
                    "description": "Localized titles for the site variant, keyed by locale. If not defined, the localized title will not be changed. If set to null, all localized titles will be removed.",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/LocalizedString"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "styling": {
                    "type": "object",
                    "properties": {
                      "theme": {
                        "description": "The site theme. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationTheme"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "primaryColor": {
                        "description": "The primary color used for links and UI text. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "infoColor": {
                        "description": "Used for informational messages and neutral alerts. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "successColor": {
                        "description": "Used for showing positive actions or achievements. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "warningColor": {
                        "description": "Used for showing important information or non-critical warnings. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "dangerColor": {
                        "description": "Used for destructive actions or raising attention to critical information. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "tint": {
                        "description": "The tint will color the site’s UI beyond links and buttons, such as header, sidebar and background. By default, the tint colour is the same as your Primary colour, but you can set a custom one too.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationTint"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "corners": {
                        "description": "The style of the corners to use. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationCorners"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "depth": {
                        "description": "The depth of elements on the site. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationDepth"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "links": {
                        "description": "The style for links to use. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationLinksStyle"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "icons": {
                        "description": "The icons style to use for the content. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationIconsStyle"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "sidebar": {
                        "description": "Various styles for the sidebar. Each can be Set to null to reset the override.",
                        "type": "object",
                        "properties": {
                          "background": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/CustomizationSidebarBackgroundStyle"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "list": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/CustomizationSidebarListStyle"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      },
                      "search": {
                        "description": "Styling for the search button at the top of the site.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationSearchStyle"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "background": {
                        "description": "The style of background to use. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationBackground"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "codeTheme": {
                        "description": "The code theme to use. Set to null to reset the override.",
                        "type": "object",
                        "properties": {
                          "default": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/CustomizationThemedCodeTheme"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "openapi": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/CustomizationThemedCodeTheme"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        }
                      }
                    }
                  },
                  "internationalization": {
                    "type": "object",
                    "deprecated": true,
                    "properties": {
                      "locale": {
                        "description": "The locale to use for the non-custom elements of the UI. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationLocale"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "locale"
                    ]
                  },
                  "favicon": {
                    "description": "The favicon to use. Set to null to reset the override.",
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/CustomizationFavicon"
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "announcement": {
                    "$ref": "#/components/schemas/CustomizationAnnouncement"
                  },
                  "header": {
                    "type": "object",
                    "properties": {
                      "preset": {
                        "description": "The theme preset to use. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationHeaderPreset"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "logo": {
                        "description": "The header logo to use. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedURL"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "primaryLink": {
                        "description": "The destination to open when visitors click the site title/logo in the header. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/ContentRef"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "backgroundColor": {
                        "description": "The background color used in the header. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "linkColor": {
                        "description": "The color used by the links in the header. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedColor"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "links": {
                        "type": [
                          "array",
                          "null"
                        ],
                        "description": "The links that are displayed in the header. Set to null to reset the override.",
                        "items": {
                          "$ref": "#/components/schemas/CustomizationHeaderItem"
                        }
                      }
                    }
                  },
                  "footer": {
                    "type": "object",
                    "properties": {
                      "logo": {
                        "description": "The logo displayed in the footer. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemedURL"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "groups": {
                        "type": [
                          "array",
                          "null"
                        ],
                        "description": "The links groups that are displayed in the footer. Set to null to reset the override.",
                        "items": {
                          "$ref": "#/components/schemas/CustomizationFooterGroup"
                        }
                      },
                      "copyright": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "description": "The copyright text that is displayed in the footer. Set to null to reset the override.",
                        "maxLength": 300
                      }
                    }
                  },
                  "themes": {
                    "type": "object",
                    "properties": {
                      "default": {
                        "description": "The theme mode default value. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/CustomizationThemeMode"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      },
                      "toggeable": {
                        "description": "Should the reader be able to switch between dark and light mode. Set to null to reset the override.",
                        "type": [
                          "boolean",
                          "null"
                        ]
                      }
                    }
                  },
                  "pdf": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "If true, PDF export is enabled for the published site. Set to null to reset the override."
                      }
                    },
                    "required": [
                      "enabled"
                    ]
                  },
                  "feedback": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "If true, feedback gathering is enabled. Set to null to reset the override."
                      }
                    },
                    "required": [
                      "enabled"
                    ]
                  },
                  "git": {
                    "type": "object",
                    "properties": {
                      "showEditLink": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "Whether the published site should show a link to edit the content on the git provider set up in the Git Sync. Set to null to reset the override."
                      }
                    },
                    "required": [
                      "showEditLink"
                    ]
                  },
                  "externalLinks": {
                    "type": "object",
                    "properties": {
                      "target": {
                        "description": "How external links should open. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/SiteExternalLinksTarget"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    },
                    "required": [
                      "target"
                    ]
                  },
                  "pagination": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "Whether the pagination navigation should be displayed on pages. Set to null to reset the override."
                      }
                    },
                    "required": [
                      "enabled"
                    ]
                  },
                  "trademark": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": [
                          "boolean",
                          "null"
                        ],
                        "description": "Whether the GitBook trademark (\"Powered by GitBook\") should be visible. Set to null to reset the override."
                      }
                    },
                    "required": [
                      "enabled"
                    ]
                  },
                  "privacyPolicy": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "description": "The custom link to the privacy policy. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/URL"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    }
                  },
                  "socialPreview": {
                    "type": "object",
                    "properties": {
                      "url": {
                        "description": "The URL for the social preview image. Set to null to reset the override.",
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/URL"
                          },
                          {
                            "type": "null"
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteCustomizationSettings"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteSpaceCustomizationById",
        "summary": "Delete a site space customization settings",
        "tags": [
          "site-customization"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          }
        ],
        "responses": {
          "204": {
            "description": "Customization settings did not exist"
          },
          "205": {
            "description": "Site space customization removed"
          },
          "400": {
            "$ref": "#/components/responses/BadRequestError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/section-groups/{siteSectionGroupId}/move": {
      "post": {
        "operationId": "moveSiteSectionGroup",
        "deprecated": true,
        "summary": "Move a site section group to a new position. (Deprecated) use sortSiteStructure instead.",
        "tags": [
          "site-section-groups"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionGroupId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "position": {
                    "description": "The position where to move the site section group. When not provided the site section group is moved at the end of the site.",
                    "$ref": "#/components/schemas/SiteSectionGroupMovePosition"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Site section group moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSectionGroup"
                }
              }
            }
          },
          "400": {
            "description": "Invalid move site section group position provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching site section group found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/sections/{siteSectionId}/move": {
      "post": {
        "operationId": "moveSiteSection",
        "deprecated": true,
        "summary": "Move a site section to a new position. (Deprecated) use sortSiteStructure instead.",
        "tags": [
          "site-sections"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSectionId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "position": {
                    "description": "The position where to move the site section. When not provided the site section is moved at the end of the site.",
                    "$ref": "#/components/schemas/SiteSectionMovePosition"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Site section moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSection"
                }
              }
            }
          },
          "400": {
            "description": "Invalid move site section position provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching Site section found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/site-spaces/{siteSpaceId}/move": {
      "post": {
        "operationId": "moveSiteSpace",
        "deprecated": true,
        "summary": "Move a site space to a new position. (Deprecated) use sortSiteStructure instead.",
        "tags": [
          "site-spaces"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteSpaceId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "position": {
                    "description": "The position where to move the site space. When not provided the site space is moved at the end of the site.",
                    "$ref": "#/components/schemas/SiteSpaceMovePosition"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Site space moved",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteSpace"
                }
              }
            }
          },
          "400": {
            "description": "Invalid move site space position provided",
            "$ref": "#/components/responses/BadRequestError"
          },
          "404": {
            "description": "No matching Site space found",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions": {
      "post": {
        "operationId": "inviteToSite",
        "summary": "Invite a user or a team to a site",
        "tags": [
          "site-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "404": {
            "description": "No team or user with the provided Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InviteSiteUsersAndTeams"
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions/aggregate": {
      "get": {
        "operationId": "listPermissionsAggregateInSite",
        "summary": "List all sites users permissions",
        "tags": [
          "site-users"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who can access the site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserSitePermission"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions/users": {
      "get": {
        "operationId": "listUserPermissionsInSite",
        "summary": "List site user permissions",
        "tags": [
          "site-users"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of users who have been added to a site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/UserSitePermissionOverride"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No site was found with the given Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions/users/{userId}": {
      "patch": {
        "operationId": "updateUserPermissionInSite",
        "summary": "Update site user permissions",
        "tags": [
          "site-users"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRole"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "User permission was updated"
          },
          "404": {
            "description": "No user found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeUserFromSite",
        "summary": "Remove a site user",
        "tags": [
          "site-users"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/userId"
          }
        ],
        "responses": {
          "204": {
            "description": "The user was not found in the site"
          },
          "205": {
            "description": "The user has been removed from the site"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions/teams": {
      "get": {
        "operationId": "listTeamPermissionsInSite",
        "summary": "List an org team's permission in a site",
        "tags": [
          "site-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "Listing of teams who have been added to a site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/TeamSitePermissionOverride"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "No site was found with the given Id",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/permissions/teams/{teamId}": {
      "patch": {
        "operationId": "updateTeamPermissionInSite",
        "summary": "Update an org team's permission in a site",
        "tags": [
          "site-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "role": {
                    "$ref": "#/components/schemas/MemberRole"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Team permission was updated"
          },
          "404": {
            "description": "No team found with the given ID",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "delete": {
        "operationId": "removeTeamFromSite",
        "summary": "Remove an org team from a site",
        "tags": [
          "site-permissions"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/teamId"
          }
        ],
        "responses": {
          "204": {
            "description": "The team was not found in the site"
          },
          "205": {
            "description": "The team has been removed from the site"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/ai/response": {
      "post": {
        "operationId": "streamAIResponseInSite",
        "summary": "Generate an AI response in a site",
        "description": "Generate an AI response in a conversation.\n",
        "tags": [
          "site-ai"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "required": [
                  "input"
                ],
                "properties": {
                  "previousResponseId": {
                    "type": "string",
                    "description": "The ID of the previous response to continue from"
                  },
                  "input": {
                    "type": "array",
                    "description": "The messages to send to the AI agent.",
                    "items": {
                      "$ref": "#/components/schemas/AIMessageInput"
                    }
                  },
                  "model": {
                    "$ref": "#/components/schemas/AIModel"
                  },
                  "tools": {
                    "type": "array",
                    "description": "Custom tools to provide to the AI agent.",
                    "items": {
                      "$ref": "#/components/schemas/AIToolDefinition"
                    }
                  },
                  "toolCall": {
                    "$ref": "#/components/schemas/AIToolCallResult"
                  },
                  "session": {
                    "$ref": "#/components/schemas/SiteInsightsSession"
                  },
                  "channel": {
                    "type": "object",
                    "description": "The channel from which the question was asked, if applicable.",
                    "required": [
                      "type"
                    ],
                    "properties": {
                      "type": {
                        "$ref": "#/components/schemas/SiteCoreChannelType"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "text/event-stream": {
                "schema": {
                  "$ref": "#/components/schemas/AIStreamResponse"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/insights/events": {
      "post": {
        "operationId": "trackEventsInSiteById",
        "summary": "Track site events",
        "tags": [
          "site-insights"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "204": {
            "description": "Events have been tracked."
          }
        },
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "events": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/SiteInsightsEvent"
                    }
                  }
                },
                "required": [
                  "events"
                ]
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/insights/events/aggregate": {
      "post": {
        "operationId": "aggregateSiteEvents",
        "summary": "Query site events",
        "security": [
          {
            "user": []
          }
        ],
        "tags": [
          "site-insights"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SiteInsightsQueryEventsAggregation"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Aggregated events in the site.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteInsightsQueryEventsAggregationResult"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/insights/visitor-segments": {
      "get": {
        "operationId": "listSiteVisitorSegments",
        "summary": "List a site visitor segments",
        "tags": [
          "site-insights"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "responses": {
          "200": {
            "description": "List of visitor segments in the site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteInsightsVisitorSegment"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/ads": {
      "post": {
        "operationId": "updateSiteAdsById",
        "summary": "Update a site ads settings",
        "tags": [
          "site-ads"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "status": {
                    "type": "string",
                    "enum": [
                      "in-review",
                      "disabled"
                    ]
                  },
                  "topic": {
                    "$ref": "#/components/schemas/SiteAdsTopic"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/redirects": {
      "post": {
        "operationId": "createSiteRedirect",
        "summary": "Create a site redirect",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/SiteRedirectSourcePath"
                  },
                  "captureWildcard": {
                    "type": "boolean",
                    "default": false,
                    "description": "Capture and append the wildcard-matched suffix to the destination URL."
                  },
                  "draft": {
                    "type": "boolean",
                    "default": false,
                    "description": "Whether the redirect is draft and not live."
                  },
                  "destination": {
                    "$ref": "#/components/schemas/SiteRedirectInputDestination"
                  }
                },
                "required": [
                  "source",
                  "destination"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "The redirect was created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteRedirect"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "bulkUpsertSiteRedirects",
        "summary": "Create or update site redirects in bulk",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "redirects": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 500,
                    "items": {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "$ref": "#/components/schemas/SiteRedirectSourcePath"
                            },
                            "intent": {
                              "type": "string",
                              "enum": [
                                "publish"
                              ],
                              "description": "Publish a draft redirect to live and remove the draft redirect.\n"
                            }
                          },
                          "required": [
                            "source",
                            "intent"
                          ]
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "$ref": "#/components/schemas/SiteRedirectSourcePath"
                            },
                            "intent": {
                              "type": "string",
                              "enum": [
                                "live",
                                "draft"
                              ],
                              "default": "live",
                              "description": "Redirect operation intent.\n- live: upsert/delete a live redirect (draft=false)\n- draft: upsert/delete a draft redirect (draft=true)\n"
                            },
                            "captureWildcard": {
                              "type": "boolean",
                              "default": false,
                              "description": "Capture and append the wildcard-matched suffix to the destination URL."
                            },
                            "destination": {
                              "description": "If set to null, the redirect matching the source+intent target will be deleted.",
                              "oneOf": [
                                {
                                  "$ref": "#/components/schemas/SiteRedirectInputDestination"
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "required": [
                            "source",
                            "destination"
                          ]
                        }
                      ]
                    }
                  }
                },
                "required": [
                  "redirects"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of results for each redirect processed.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "results": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "type": "object",
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "created"
                                ],
                                "description": "The redirect was created."
                              },
                              "source": {
                                "$ref": "#/components/schemas/SiteRedirectSourcePath"
                              },
                              "draft": {
                                "type": "boolean",
                                "description": "Whether the redirect is draft and not live."
                              },
                              "id": {
                                "type": "string",
                                "description": "The ID of the created redirect."
                              }
                            },
                            "required": [
                              "status",
                              "source",
                              "draft",
                              "id"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "updated"
                                ],
                                "description": "The redirect was updated."
                              },
                              "source": {
                                "$ref": "#/components/schemas/SiteRedirectSourcePath"
                              },
                              "draft": {
                                "type": "boolean",
                                "description": "Whether the redirect is draft and not live."
                              },
                              "id": {
                                "type": "string",
                                "description": "The ID of the updated redirect."
                              }
                            },
                            "required": [
                              "status",
                              "source",
                              "draft",
                              "id"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "deleted"
                                ],
                                "description": "The redirect was deleted."
                              },
                              "source": {
                                "$ref": "#/components/schemas/SiteRedirectSourcePath"
                              },
                              "draft": {
                                "type": "boolean",
                                "description": "Whether the deleted redirect was draft."
                              }
                            },
                            "required": [
                              "status",
                              "source",
                              "draft"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "published"
                                ],
                                "description": "The draft redirect was published to live and removed from draft."
                              },
                              "source": {
                                "$ref": "#/components/schemas/SiteRedirectSourcePath"
                              },
                              "draft": {
                                "type": "boolean",
                                "description": "Always false for published redirects."
                              },
                              "id": {
                                "type": "string",
                                "description": "The ID of the resulting live redirect."
                              }
                            },
                            "required": [
                              "status",
                              "source",
                              "draft",
                              "id"
                            ]
                          },
                          {
                            "type": "object",
                            "properties": {
                              "status": {
                                "type": "string",
                                "enum": [
                                  "error"
                                ],
                                "description": "There was an error processing the redirect."
                              },
                              "source": {
                                "$ref": "#/components/schemas/SiteRedirectSourcePath"
                              },
                              "draft": {
                                "type": "boolean",
                                "description": "Whether the redirect is draft and not live."
                              },
                              "error": {
                                "type": "string",
                                "description": "The error message."
                              }
                            },
                            "required": [
                              "status",
                              "source",
                              "draft",
                              "error"
                            ]
                          }
                        ]
                      }
                    }
                  },
                  "required": [
                    "results"
                  ]
                }
              }
            }
          }
        }
      },
      "get": {
        "operationId": "listSiteRedirects",
        "summary": "List all site redirects",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "name": "search",
            "in": "query",
            "description": "Search for a redirect by path",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "draft",
            "in": "query",
            "description": "Filter redirects by draft mode.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The list of redirects for the site.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteRedirect"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/redirects/{siteRedirectId}": {
      "patch": {
        "operationId": "updateSiteRedirectById",
        "summary": "Update a site redirect",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteRedirectId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "$ref": "#/components/schemas/SiteRedirectSourcePath"
                  },
                  "captureWildcard": {
                    "type": "boolean",
                    "description": "Capture and append the wildcard-matched suffix to the destination URL."
                  },
                  "draft": {
                    "type": "boolean",
                    "description": "When true, it can be used to promote a draft redirect to live."
                  },
                  "destination": {
                    "$ref": "#/components/schemas/SiteRedirectDestination"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteRedirect"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteRedirectById",
        "summary": "Delete a site redirect",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteRedirectId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site redirect did not exist"
          },
          "205": {
            "description": "Site redirect deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/redirect": {
      "get": {
        "operationId": "getSiteRedirectBySource",
        "summary": "Get a site redirect by its source",
        "tags": [
          "site-redirects"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteShareKey"
          },
          {
            "name": "source",
            "in": "query",
            "required": true,
            "description": "The source path of the redirect.",
            "schema": {
              "$ref": "#/components/schemas/SiteRedirectSourcePath"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The redirect was resolved successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "redirect": {
                      "$ref": "#/components/schemas/SiteRedirect"
                    },
                    "target": {
                      "type": "string",
                      "description": "URL of the destination of the redirect."
                    }
                  },
                  "required": [
                    "redirect",
                    "target"
                  ]
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/mcp-servers": {
      "get": {
        "operationId": "listSiteMcpServers",
        "summary": "List all MCP servers for a site",
        "tags": [
          "site-mcp-servers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteMcpServer"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSiteMcpServer",
        "summary": "Create a new MCP server",
        "tags": [
          "site-mcp-servers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/components/schemas/SiteMcpServerName"
                  },
                  "url": {
                    "$ref": "#/components/schemas/URL"
                  },
                  "headers": {
                    "$ref": "#/components/schemas/SiteMcpServerHeaders"
                  }
                },
                "required": [
                  "name",
                  "url",
                  "headers"
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "MCP server created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteMcpServer"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/mcp-servers/{siteMcpServerId}": {
      "get": {
        "operationId": "getSiteMcpServerById",
        "summary": "Get a site MCP server",
        "tags": [
          "site-mcp-servers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteMcpServerId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteMcpServer"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "updateSiteMcpServerById",
        "summary": "Update a site MCP server",
        "tags": [
          "site-mcp-servers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteMcpServerId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "name": {
                    "$ref": "#/components/schemas/SiteMcpServerName"
                  },
                  "url": {
                    "type": "string",
                    "format": "uri",
                    "maxLength": 2048
                  },
                  "headers": {
                    "$ref": "#/components/schemas/SiteMcpServerHeaders"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteMcpServer"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteMcpServerById",
        "summary": "Delete a site MCP server",
        "tags": [
          "site-mcp-servers"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteMcpServerId"
          }
        ],
        "responses": {
          "204": {
            "description": "MCP server did not exist"
          },
          "205": {
            "description": "MCP server deleted"
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/channels": {
      "get": {
        "operationId": "listSiteChannels",
        "summary": "List all site channels for a site",
        "tags": [
          "site-channels"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/SiteChannel"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "createSiteChannel",
        "summary": "Create a site channel",
        "tags": [
          "site-channels"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SiteChannelSetup"
                  },
                  {
                    "type": "object",
                    "properties": {
                      "usageSettings": {
                        "$ref": "#/components/schemas/SiteChannelUsageSettings"
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Site channel created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteChannel"
                }
              }
            }
          }
        }
      }
    },
    "/orgs/{organizationId}/sites/{siteId}/channels/{siteChannelId}": {
      "get": {
        "operationId": "getSiteChannelById",
        "summary": "Get a site channel",
        "tags": [
          "site-channels"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteChannelId"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SiteChannel"
                }
              }
            }
          }
        }
      },
      "delete": {
        "operationId": "deleteSiteChannelById",
        "summary": "Delete a site channel",
        "tags": [
          "site-channels"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/organizationId"
          },
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/siteChannelId"
          }
        ],
        "responses": {
          "204": {
            "description": "Site channel did not exist"
          },
          "205": {
            "description": "Site channel deleted"
          }
        }
      }
    },
    "/subdomains/{subdomain}": {
      "get": {
        "operationId": "getSubdomain",
        "summary": "Get a subdomain",
        "tags": [
          "subdomains"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/subdomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Subdomain"
                }
              }
            }
          }
        }
      }
    },
    "/custom-hostnames/{hostname}": {
      "get": {
        "operationId": "getCustomHostname",
        "summary": "Get a custom hostname",
        "tags": [
          "custom-hostnames"
        ],
        "security": [
          {
            "user-internal-or-staff": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/hostname"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomHostname"
                }
              }
            }
          }
        }
      },
      "patch": {
        "operationId": "dnsRevalidateCustomHostname",
        "summary": "Revalidate a custom hostname DNS",
        "description": "Revalidate DNS records and status.",
        "tags": [
          "custom-hostnames"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/hostname"
          }
        ],
        "responses": {
          "204": {
            "description": "DNS validation has been retriggered"
          },
          "400": {
            "description": "The current custom hostname is inactive and cannot be revalidated",
            "$ref": "#/components/responses/ConflictError"
          },
          "409": {
            "description": "The current custom hostname status does not allow DNS revalidation",
            "$ref": "#/components/responses/ConflictError"
          }
        }
      },
      "delete": {
        "operationId": "removeCustomHostname",
        "summary": "Remove a custom hostname",
        "description": "The custom hostname will continue to point to the content or organization unless it is used for another one.",
        "tags": [
          "custom-hostnames"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/hostname"
          }
        ],
        "responses": {
          "204": {
            "description": "Custom hostname did not exist"
          },
          "205": {
            "description": "Custom hostname has been removed"
          }
        }
      }
    },
    "/email-domains/{emailDomain}/orgs": {
      "get": {
        "operationId": "getOrganizationsForEmailDomain",
        "summary": "Get all organizations by email domain",
        "tags": [
          "organizations"
        ],
        "security": [
          {
            "user-internal": []
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/emailDomain"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "organizations": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Organization"
                      }
                    }
                  },
                  "required": [
                    "organizations"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/ads/sites": {
      "get": {
        "operationId": "adsListSites",
        "summary": "List all the sites with ads configured",
        "tags": [
          "site-ads"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/listPage"
          },
          {
            "$ref": "#/components/parameters/listLimit"
          },
          {
            "$ref": "#/components/parameters/xGitBookPartnerKey"
          },
          {
            "name": "status",
            "in": "query",
            "description": "Filter sites by their ads review status",
            "required": false,
            "schema": {
              "type": "string",
              "default": "in-review",
              "enum": [
                "in-review",
                "live",
                "rejected"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/List"
                    },
                    {
                      "type": "object",
                      "required": [
                        "items"
                      ],
                      "properties": {
                        "items": {
                          "type": "array",
                          "items": {
                            "allOf": [
                              {
                                "type": "object",
                                "required": [
                                  "id",
                                  "url",
                                  "email",
                                  "topic"
                                ],
                                "properties": {
                                  "id": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  },
                                  "email": {
                                    "type": "string"
                                  },
                                  "topic": {
                                    "$ref": "#/components/schemas/SiteAdsTopic"
                                  }
                                }
                              },
                              {
                                "oneOf": [
                                  {
                                    "type": "object",
                                    "required": [
                                      "status"
                                    ],
                                    "properties": {
                                      "status": {
                                        "type": "string",
                                        "enum": [
                                          "in-review"
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "status",
                                      "zoneId"
                                    ],
                                    "properties": {
                                      "status": {
                                        "type": "string",
                                        "enum": [
                                          "live"
                                        ]
                                      },
                                      "zoneId": {
                                        "type": "string",
                                        "description": "The ad network zone ID"
                                      }
                                    }
                                  },
                                  {
                                    "type": "object",
                                    "required": [
                                      "status"
                                    ],
                                    "properties": {
                                      "status": {
                                        "type": "string",
                                        "enum": [
                                          "rejected"
                                        ]
                                      },
                                      "reason": {
                                        "type": "string",
                                        "description": "Reason for the rejection"
                                      }
                                    }
                                  }
                                ]
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/ads/sites/{siteId}": {
      "patch": {
        "operationId": "adsUpdateSite",
        "summary": "Update the Ads configuration for a site",
        "tags": [
          "site-ads"
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/siteId"
          },
          {
            "$ref": "#/components/parameters/xGitBookPartnerKey"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "status",
                      "zoneId",
                      "reportingId"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "live"
                        ]
                      },
                      "zoneId": {
                        "type": "string",
                        "description": "ID of the zone"
                      },
                      "reportingId": {
                        "type": "string",
                        "description": "ID to fetch reporting data"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "rejected"
                        ]
                      },
                      "reason": {
                        "type": "string",
                        "description": "Reason for the rejection",
                        "maxLength": 512
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "status"
                    ],
                    "properties": {
                      "status": {
                        "type": "string",
                        "enum": [
                          "pending"
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          }
        }
      }
    },
    "/urls/content": {
      "get": {
        "operationId": "getContentByUrl",
        "summary": "Resolve a URL to a content (space, collection, page)",
        "tags": [
          "urls"
        ],
        "security": [
          {
            "user": []
          }
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL to resolve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "URL resolved to a collection",
                      "properties": {
                        "collection": {
                          "$ref": "#/components/schemas/Collection"
                        }
                      },
                      "required": [
                        "collection"
                      ]
                    },
                    {
                      "type": "object",
                      "description": "URL resolved to the content of a space",
                      "properties": {
                        "space": {
                          "$ref": "#/components/schemas/Space"
                        },
                        "changeRequest": {
                          "$ref": "#/components/schemas/ChangeRequest"
                        },
                        "page": {
                          "oneOf": [
                            {
                              "$ref": "#/components/schemas/RevisionPageDocument"
                            },
                            {
                              "$ref": "#/components/schemas/RevisionPageGroup"
                            }
                          ]
                        }
                      },
                      "required": [
                        "space"
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/urls/embed": {
      "get": {
        "operationId": "getEmbedByUrl",
        "summary": "Resolve a URL to an embed",
        "tags": [
          "urls"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL to resolve",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Embed"
                }
              }
            }
          }
        }
      }
    },
    "/urls/published": {
      "get": {
        "operationId": "getPublishedContentByUrl",
        "summary": "Resolve a URL of a published content.",
        "deprecated": true,
        "tags": [
          "urls"
        ],
        "parameters": [
          {
            "name": "url",
            "in": "query",
            "required": true,
            "description": "URL to resolve",
            "schema": {
              "$ref": "#/components/schemas/URL"
            }
          },
          {
            "name": "visitorAuthToken",
            "in": "query",
            "required": false,
            "description": "JWT token generated for a authenticated access session",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "redirectOnError",
            "in": "query",
            "required": false,
            "description": "When true redirects the user to the authentication/fallback URL if the access token is invalid",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishedSiteContentLookup"
                }
              }
            }
          },
          "404": {
            "description": "No content found for the URL.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      },
      "post": {
        "operationId": "resolvePublishedContentByUrl",
        "summary": "Resolve a URL of a published content.",
        "tags": [
          "urls"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "url": {
                    "description": "URL to resolve",
                    "$ref": "#/components/schemas/URL"
                  },
                  "redirectOnError": {
                    "type": "boolean",
                    "description": "When true redirects the user to the authentication/fallback URL if the access token is invalid",
                    "default": false
                  },
                  "visitor": {
                    "$ref": "#/components/schemas/SiteVisitorPayload"
                  }
                },
                "required": [
                  "url"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PublishedSiteContentLookup"
                }
              }
            }
          },
          "404": {
            "description": "No content found for the URL.",
            "$ref": "#/components/responses/NotFoundError"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "user": {
        "type": "http",
        "scheme": "bearer"
      },
      "user-internal": {
        "type": "http",
        "scheme": "bearer"
      },
      "user-staff": {
        "type": "http",
        "scheme": "bearer"
      },
      "user-internal-or-staff": {
        "type": "http",
        "scheme": "bearer"
      },
      "integration": {
        "type": "http",
        "scheme": "bearer"
      },
      "integration-installation": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "parameters": {
      "listPage": {
        "name": "page",
        "in": "query",
        "description": "Identifier of the page results to fetch.",
        "schema": {
          "type": "string"
        }
      },
      "listLimit": {
        "name": "limit",
        "in": "query",
        "description": "The number of results per page",
        "schema": {
          "type": "number",
          "minimum": 0,
          "maximum": 1000
        }
      },
      "tokenId": {
        "name": "tokenId",
        "in": "path",
        "required": true,
        "description": "The id of the API token",
        "schema": {
          "type": "string"
        }
      },
      "userId": {
        "name": "userId",
        "in": "path",
        "required": true,
        "description": "The unique ID of the User",
        "schema": {
          "type": "string"
        }
      },
      "spaceId": {
        "name": "spaceId",
        "in": "path",
        "required": true,
        "description": "The unique id of the space",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "siteShareKey": {
        "name": "shareKey",
        "in": "query",
        "description": "For sites published via share-links, the share key is useful to resolve published URLs.",
        "schema": {
          "type": "string"
        }
      },
      "teamId": {
        "name": "teamId",
        "in": "path",
        "required": true,
        "description": "The unique ID of the Team",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "revisionMetadata": {
        "name": "metadata",
        "in": "query",
        "description": "If `false` is passed, \"git\" mutable metadata will not returned. Passing `false` can optimize performances of the lookup.",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "revisionComputed": {
        "name": "computed",
        "in": "query",
        "description": "If `false` is passed, content will not be computed",
        "schema": {
          "type": "boolean",
          "default": true
        }
      },
      "fileId": {
        "name": "fileId",
        "in": "path",
        "required": true,
        "description": "The unique id of the file",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "pageId": {
        "name": "pageId",
        "in": "path",
        "required": true,
        "description": "The unique id of the page",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "documentFormat": {
        "name": "format",
        "in": "query",
        "description": "Output format for the content.",
        "schema": {
          "type": "string",
          "enum": [
            "document",
            "markdown"
          ]
        }
      },
      "documentEvaluated": {
        "name": "evaluated",
        "in": "query",
        "description": "Controls whether the document should be evaluated.\n- When set to `true`, the entire document will be evaluated.\n- When set to `deterministic-only`, only expressions that depend\n  exclusively on deterministic inputs will be evaluated.\n",
        "schema": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "enum": [
                "deterministic-only"
              ]
            }
          ],
          "default": false
        }
      },
      "documentDereferenced": {
        "name": "dereferenced",
        "in": "query",
        "description": "Controls whether the document should be deferenced (eference to other content will be resolved and expanded).\n- When set to `true`, the entire document will be deferenced\n- When set to `reusable-contents`, only reusable contents will be deferenced.\n",
        "schema": {
          "oneOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "enum": [
                "reusable-contents"
              ]
            }
          ],
          "default": false
        }
      },
      "pagePath": {
        "name": "pagePath",
        "in": "path",
        "required": true,
        "description": "The path of the page in the revision.",
        "schema": {
          "type": "string"
        }
      },
      "reusableContentId": {
        "name": "reusableContentId",
        "in": "path",
        "required": true,
        "description": "The unique id of the reusable content",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "documentSchema": {
        "name": "schema",
        "in": "query",
        "description": "Version of the schema used for the document.",
        "schema": {
          "type": "string",
          "enum": [
            "current",
            "next"
          ]
        }
      },
      "changeRequestId": {
        "name": "changeRequestId",
        "in": "path",
        "required": true,
        "description": "The unique ID of the change request or its number identifier in the space",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "reviewId": {
        "name": "reviewId",
        "in": "path",
        "required": true,
        "description": "The unique ID of the change request review.",
        "schema": {
          "type": "string"
        }
      },
      "listOrder": {
        "name": "order",
        "in": "query",
        "description": "An order for the items in the list",
        "schema": {
          "type": "string",
          "default": "desc",
          "enum": [
            "asc",
            "desc"
          ]
        }
      },
      "status": {
        "name": "status",
        "in": "query",
        "description": "When provided, only comments with the given status are returned. Defaults to \"all\".",
        "schema": {
          "type": "string",
          "default": "all",
          "enum": [
            "all",
            "open",
            "resolved"
          ]
        }
      },
      "targetPage": {
        "name": "targetPage",
        "in": "query",
        "description": "The target page of the comment",
        "schema": {
          "type": "string"
        }
      },
      "authors": {
        "name": "authors",
        "in": "query",
        "description": "User IDs to filter queried comments on",
        "required": false,
        "schema": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "commentId": {
        "name": "commentId",
        "in": "path",
        "required": true,
        "description": "The unique id of the comment",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "commentReplyId": {
        "name": "commentReplyId",
        "in": "path",
        "required": true,
        "description": "The unique id of the comment reply",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "revisionId": {
        "name": "revisionId",
        "in": "path",
        "required": true,
        "description": "The unique id of the revision",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "integrationSearchQuery": {
        "name": "search",
        "in": "query",
        "description": "A search string to filter integrations by name\n",
        "schema": {
          "type": "string"
        }
      },
      "collectionId": {
        "name": "collectionId",
        "in": "path",
        "required": true,
        "description": "The unique id of the collection",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "integrationSearchCategory": {
        "name": "category",
        "in": "query",
        "description": "Filter the integrations by category",
        "schema": {
          "$ref": "#/components/schemas/IntegrationCategory"
        }
      },
      "integrationSearchBlockDomain": {
        "name": "blockDomain",
        "in": "query",
        "description": "Filter the integrations by block's domains",
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9-_.]+$",
          "maxLength": 100
        }
      },
      "integrationSearchBlocks": {
        "name": "blocks",
        "in": "query",
        "description": "If true, returns only integrations with blocks. If false, returns only integrations without blocks.",
        "schema": {
          "type": "boolean"
        }
      },
      "integrationSearchContentSources": {
        "name": "contentSources",
        "in": "query",
        "description": "If true, returns only integrations with contentSources. If false, returns only integrations without contentSources.",
        "schema": {
          "type": "boolean"
        }
      },
      "integrationSearchOwner": {
        "name": "owner",
        "in": "query",
        "description": "If defined, only list integrations owned by the given organization.",
        "schema": {
          "type": "string"
        }
      },
      "integrationSearchScope": {
        "name": "scope",
        "in": "query",
        "description": "Filter the integrations by scope",
        "schema": {
          "$ref": "#/components/schemas/IntegrationScope"
        }
      },
      "integrationSearchTarget": {
        "name": "target",
        "in": "query",
        "description": "Filter the integrations by target",
        "schema": {
          "$ref": "#/components/schemas/IntegrationTarget"
        }
      },
      "integrationName": {
        "name": "integrationName",
        "in": "path",
        "required": true,
        "description": "Name of the integration.",
        "schema": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9-_.]+$",
          "maxLength": 100
        }
      },
      "integrationEventId": {
        "name": "eventId",
        "in": "path",
        "required": true,
        "description": "ID of the integration event",
        "schema": {
          "type": "string"
        }
      },
      "installationId": {
        "name": "installationId",
        "in": "path",
        "required": true,
        "description": "Identifier of the installation",
        "schema": {
          "type": "string"
        }
      },
      "siteId": {
        "name": "siteId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site",
        "schema": {
          "type": "string"
        }
      },
      "organizationId": {
        "name": "organizationId",
        "in": "path",
        "required": true,
        "description": "The unique id of the organization",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "inviteId": {
        "name": "inviteId",
        "in": "path",
        "required": true,
        "description": "The unique id of the invite",
        "schema": {
          "$ref": "#/components/schemas/EntityId"
        }
      },
      "successReturnURL": {
        "name": "successReturnURL",
        "in": "query",
        "description": "The app screen URL to bring the user back to after a successful checkout.",
        "schema": {
          "type": "string"
        }
      },
      "cancelReturnURL": {
        "name": "cancelReturnURL",
        "in": "query",
        "description": "The app screen URL to bring the user back to after a canceled checkout.",
        "schema": {
          "type": "string"
        }
      },
      "meterName": {
        "name": "meterName",
        "in": "path",
        "required": true,
        "description": "Identifier of the billing meter",
        "schema": {
          "$ref": "#/components/schemas/BillingMeter"
        }
      },
      "samlProviderId": {
        "name": "samlProviderId",
        "in": "path",
        "required": true,
        "description": "The unique id of the SAML provider",
        "schema": {
          "type": "string"
        }
      },
      "openapiSpecSlug": {
        "name": "specSlug",
        "in": "path",
        "required": true,
        "description": "Slug of the OpenAPI specification",
        "schema": {
          "type": "string"
        }
      },
      "openapiSpecVersionId": {
        "name": "versionId",
        "in": "path",
        "required": true,
        "description": "The unique ID of the OpenAPI specification version",
        "schema": {
          "type": "string"
        }
      },
      "translationId": {
        "name": "translationId",
        "in": "path",
        "required": true,
        "description": "The unique id of the translation",
        "schema": {
          "type": "string"
        }
      },
      "glossaryEntryId": {
        "name": "glossaryEntryId",
        "in": "path",
        "required": true,
        "description": "The unique id of the glossary entry",
        "schema": {
          "type": "string"
        }
      },
      "fontId": {
        "name": "fontId",
        "in": "path",
        "required": true,
        "description": "The unique ID of a font",
        "schema": {
          "type": "string"
        }
      },
      "importRunId": {
        "name": "importRunId",
        "in": "path",
        "required": true,
        "description": "The unique id of the import run",
        "schema": {
          "type": "string"
        }
      },
      "shareLinkId": {
        "name": "shareLinkId",
        "in": "path",
        "required": true,
        "description": "The unique id of the share link",
        "schema": {
          "type": "string"
        }
      },
      "siteCustomizationUnmasked": {
        "name": "unmasked",
        "in": "query",
        "description": "(Deprecated) Use the getRawCustomizationSettingsById internal endpoint.",
        "deprecated": true,
        "schema": {
          "type": "boolean",
          "default": false
        }
      },
      "siteSectionGroupId": {
        "name": "siteSectionGroupId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site group",
        "schema": {
          "type": "string"
        }
      },
      "siteSectionId": {
        "name": "siteSectionId",
        "in": "path",
        "required": true,
        "description": "The unique id of the section within a site",
        "schema": {
          "type": "string"
        }
      },
      "siteContextRecordId": {
        "name": "siteContextRecordId",
        "in": "path",
        "required": true,
        "description": "The unique id of the context record",
        "schema": {
          "type": "string"
        }
      },
      "siteIssueId": {
        "name": "siteIssueId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site issue",
        "schema": {
          "type": "string"
        }
      },
      "siteContextConnectionId": {
        "name": "siteContextConnectionId",
        "in": "path",
        "required": true,
        "description": "The unique id of the context connection",
        "schema": {
          "type": "string"
        }
      },
      "siteTopicId": {
        "name": "siteTopicId",
        "in": "path",
        "required": true,
        "description": "The unique id of the topic",
        "schema": {
          "type": "string"
        }
      },
      "siteQuestionId": {
        "name": "siteQuestionId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site question",
        "schema": {
          "type": "string"
        }
      },
      "siteQuestionAnswerId": {
        "name": "siteQuestionAnswerId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site question answer",
        "schema": {
          "type": "string"
        }
      },
      "siteSpaceId": {
        "name": "siteSpaceId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site-space relationship",
        "schema": {
          "type": "string"
        }
      },
      "siteRedirectId": {
        "name": "siteRedirectId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site redirect",
        "schema": {
          "type": "string"
        }
      },
      "siteMcpServerId": {
        "name": "siteMcpServerId",
        "in": "path",
        "required": true,
        "description": "The unique id of the MCP server",
        "schema": {
          "type": "string"
        }
      },
      "siteChannelId": {
        "name": "siteChannelId",
        "in": "path",
        "required": true,
        "description": "The unique id of the site channel",
        "schema": {
          "type": "string"
        }
      },
      "subdomain": {
        "name": "subdomain",
        "in": "path",
        "required": true,
        "description": "The subdomain, for example \"my-company\" in \"my-company.gitbook.io\"",
        "schema": {
          "type": "string",
          "pattern": "^[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$",
          "minLength": 3,
          "maxLength": 32
        }
      },
      "hostname": {
        "name": "hostname",
        "in": "path",
        "required": true,
        "description": "The custom hostname, for example \"docs.gitbook.com\"",
        "schema": {
          "type": "string"
        }
      },
      "emailDomain": {
        "name": "emailDomain",
        "in": "path",
        "required": true,
        "description": "Email domain",
        "schema": {
          "type": "string"
        }
      },
      "xGitBookPartnerKey": {
        "in": "header",
        "name": "X-GitBook-Partner-Key",
        "schema": {
          "type": "string"
        },
        "required": true
      },
      "translationLanguage": {
        "name": "translationLanguage",
        "in": "path",
        "required": true,
        "description": "The language of the translation",
        "schema": {
          "$ref": "#/components/schemas/TranslationLanguage"
        }
      },
      "pageFormat": {
        "$ref": "#/components/parameters/documentFormat"
      },
      "commentStatus": {
        "$ref": "#/components/parameters/status"
      },
      "commentTargetPage": {
        "$ref": "#/components/parameters/targetPage"
      }
    },
    "schemas": {
      "ApiInformation": {
        "type": "object",
        "properties": {
          "version": {
            "type": "string",
            "description": "Current release of GitBook"
          },
          "build": {
            "type": "string",
            "description": "Date of the latest release in ISO format"
          }
        },
        "required": [
          "version",
          "build"
        ]
      },
      "User": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"user\"",
            "enum": [
              "user"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the user"
          },
          "displayName": {
            "type": "string",
            "description": "Full name for the user"
          },
          "email": {
            "type": "string",
            "description": "Email address of the user"
          },
          "photoURL": {
            "type": "string",
            "description": "URL of the user's profile picture"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the user in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "displayName",
          "urls"
        ]
      },
      "List": {
        "type": "object",
        "properties": {
          "next": {
            "type": "object",
            "properties": {
              "page": {
                "type": "string",
                "description": "Unique identifier to query the next results page"
              }
            },
            "required": [
              "page"
            ]
          },
          "count": {
            "type": "number",
            "description": "Total count of objects in the list"
          }
        }
      },
      "APITokenLabel": {
        "type": "string",
        "maxLength": 50
      },
      "Timestamp": {
        "type": "string",
        "format": "date-time"
      },
      "UserAPIToken": {
        "type": "object",
        "description": "The API token details, excluding the token itself.",
        "properties": {
          "id": {
            "type": "string",
            "description": "The API token ID."
          },
          "label": {
            "$ref": "#/components/schemas/APITokenLabel",
            "description": "A descriptive label for the API token."
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp",
            "description": "The API token creation date."
          }
        },
        "required": [
          "id",
          "label",
          "createdAt"
        ]
      },
      "UserAPITokenExtended": {
        "description": "The API token details, including the token itself.",
        "allOf": [
          {
            "$ref": "#/components/schemas/UserAPIToken"
          },
          {
            "type": "object",
            "properties": {
              "token": {
                "type": "string",
                "description": "The actual token value."
              }
            },
            "required": [
              "token"
            ]
          }
        ]
      },
      "URL": {
        "type": "string",
        "format": "uri",
        "maxLength": 2048
      },
      "EntityId": {
        "type": "string",
        "pattern": "^[a-zA-Z0-9_-]+$",
        "description": "A unique entity identifier"
      },
      "SpaceTitle": {
        "type": "string",
        "description": "Title of the space",
        "maxLength": 50
      },
      "Emoji": {
        "type": "string",
        "maxLength": 50,
        "format": "emoji",
        "description": "Unicode codepoint or character of the emoji",
        "example": "🎉"
      },
      "ContentVisibility": {
        "type": "string",
        "description": "* `public`: Anyone can access the content, and the content is indexed by search engines.\n* `unlisted`: Anyone can access the content, and the content is not indexed by search engines\n* `share-link`: Anyone with a secret token in the url can access the content.\n* `visitor-auth`: Anyone authenticated through a JWT token can access the content.\n* `in-collection`: Anyone who can access the parent collection can access the content.\n  Only available for spaces in a collection.\n* `private`: Authorized members can access the content.\n",
        "enum": [
          "public",
          "unlisted",
          "share-link",
          "visitor-auth",
          "in-collection",
          "private"
        ]
      },
      "SpaceEditMode": {
        "type": "string",
        "description": "Determines how a Space can be edited.\n* `live`: Users can directly edit the space\n* `locked`: All edits are locked for this space.\n",
        "enum": [
          "live",
          "locked"
        ]
      },
      "MergeRulesConfigurationInherit": {
        "type": "object",
        "description": "The merge rules inherits from the organization configuration.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "inherit"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "Expression": {
        "type": "string",
        "description": "Expression to evaluate",
        "minLength": 0,
        "maxLength": 1024
      },
      "MergeRule": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "require_specific_reviewers"
                ]
              },
              "users": {
                "type": "array",
                "description": "List of user IDs.",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "rule",
              "users"
            ]
          },
          {
            "type": "object",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "require_one_of_specific_reviewers"
                ]
              },
              "users": {
                "type": "array",
                "description": "List of user IDs.",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "rule",
              "users"
            ]
          },
          {
            "type": "object",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "allow_bypass"
                ]
              },
              "users": {
                "type": "array",
                "description": "List of user IDs.",
                "items": {
                  "type": "string"
                }
              }
            },
            "required": [
              "rule",
              "users"
            ]
          },
          {
            "type": "object",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "require_at_least_one_review",
                  "require_at_least_one_approved_review",
                  "require_all_reviews_approved",
                  "require_agent_review",
                  "require_up_to_date_change_request",
                  "require_change_request_subject",
                  "require_change_request_description",
                  "require_author_to_merge"
                ]
              }
            },
            "required": [
              "rule"
            ]
          },
          {
            "type": "object",
            "description": "The merge rule is written in the advanced custom expression syntax.",
            "properties": {
              "rule": {
                "type": "string",
                "enum": [
                  "custom"
                ]
              },
              "expression": {
                "$ref": "#/components/schemas/Expression"
              }
            },
            "required": [
              "rule",
              "expression"
            ]
          }
        ]
      },
      "MergeRulesConfigurationRules": {
        "type": "object",
        "description": "The merge rules are composed of individual rules that must all pass.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "rules"
            ]
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MergeRule"
            }
          }
        },
        "required": [
          "type",
          "rules"
        ]
      },
      "MergeRulesConfigurationNone": {
        "type": "object",
        "description": "The merge rules are disabled, change requests can be merged without review.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "none"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "MergeRulesStandaloneConfiguration": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/MergeRulesConfigurationRules"
          },
          {
            "$ref": "#/components/schemas/MergeRulesConfigurationNone"
          }
        ]
      },
      "MergeRulesSpaceConfiguration": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/MergeRulesConfigurationInherit"
          },
          {
            "$ref": "#/components/schemas/MergeRulesStandaloneConfiguration"
          }
        ]
      },
      "TranslationLanguage": {
        "type": "string",
        "enum": [
          "en",
          "fr",
          "de",
          "es",
          "it",
          "pt",
          "pt-br",
          "ru",
          "ja",
          "zh",
          "yue",
          "ko",
          "ar",
          "hi",
          "nl",
          "pl",
          "tr",
          "sv",
          "no",
          "da",
          "fi",
          "el",
          "cs",
          "hu",
          "ro",
          "th",
          "vi",
          "id",
          "ms",
          "he",
          "uk",
          "sk",
          "bg",
          "hr",
          "lt",
          "lv",
          "et",
          "sl"
        ]
      },
      "GitSyncProvider": {
        "type": "string",
        "description": "The provider of the Git Sync installation.",
        "enum": [
          "github",
          "gitlab",
          "github-legacy"
        ]
      },
      "GitSyncState": {
        "type": "object",
        "properties": {
          "repoName": {
            "type": "string",
            "description": "Repository name."
          },
          "installationProvider": {
            "$ref": "#/components/schemas/GitSyncProvider"
          },
          "integration": {
            "type": "string",
            "description": "The integration name providing the Git Sync."
          },
          "url": {
            "type": "string",
            "description": "The URL to the repository tree, used when rendering public content."
          },
          "updatedAt": {
            "description": "When the Git provider details were last updated",
            "$ref": "#/components/schemas/Timestamp"
          }
        }
      },
      "VisitorAuthCustomBackend": {
        "type": "object",
        "title": "Custom backend for authenticated access",
        "properties": {
          "backend": {
            "type": "string",
            "description": "Custom backend for authenticated access",
            "enum": [
              "custom"
            ]
          }
        },
        "required": [
          "backend"
        ]
      },
      "VisitorAuthIntegrationBackend": {
        "type": "object",
        "title": "Integration backend for authenticated access",
        "properties": {
          "backend": {
            "type": "string",
            "description": "Integration as backend for authenticated access",
            "enum": [
              "integration"
            ]
          }
        },
        "required": [
          "backend"
        ]
      },
      "VisitorAuth": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/VisitorAuthCustomBackend"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/VisitorAuthIntegrationBackend"
              },
              {
                "type": "object",
                "properties": {
                  "integration": {
                    "type": "string",
                    "description": "Name of integration being used as the backend for authenticated access"
                  }
                },
                "required": [
                  "integration"
                ]
              }
            ]
          }
        ]
      },
      "MemberRole": {
        "type": "string",
        "description": "\"The role of a member in an organization.\n\"admin\": Can administrate the content: create, delete spaces, ...\n\"create\": Can create content.\n\"review\": Can review content.\n\"edit\": Can edit the content (live or change requests).\n\"comment\": Can access the content and its discussions.\n\"read\": Can access the content, but cannot update it in any way.\n",
        "enum": [
          "admin",
          "create",
          "edit",
          "review",
          "comment",
          "read"
        ]
      },
      "MemberRoleOrGuest": {
        "description": "The role of a member in an organization, null for guests",
        "oneOf": [
          {
            "$ref": "#/components/schemas/MemberRole"
          },
          {
            "type": "null"
          }
        ]
      },
      "DefaultLevel": {
        "description": "Default level for a piece of content",
        "oneOf": [
          {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          {
            "type": "string",
            "enum": [
              "inherit"
            ]
          }
        ]
      },
      "Space": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"space\"",
            "enum": [
              "space"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the space"
          },
          "title": {
            "$ref": "#/components/schemas/SpaceTitle"
          },
          "emoji": {
            "description": "An emoji for this space. It'll match the emoji shown in the GitBook app.",
            "$ref": "#/components/schemas/Emoji"
          },
          "visibility": {
            "$ref": "#/components/schemas/ContentVisibility"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "deletedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "editMode": {
            "$ref": "#/components/schemas/SpaceEditMode"
          },
          "mergeRules": {
            "$ref": "#/components/schemas/MergeRulesSpaceConfiguration"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the space in the API",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the space in the application",
                "format": "uri"
              },
              "published": {
                "type": "string",
                "description": "URL of the published version of the space. Only defined when visibility is not \"private.\"",
                "format": "uri"
              },
              "public": {
                "type": "string",
                "description": "URL of the public version of the space. Only defined when visibility is \"public\".",
                "format": "uri"
              },
              "icon": {
                "description": "URL of the icon of this space, if defined.",
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "app",
              "location"
            ]
          },
          "organization": {
            "type": "string",
            "description": "ID of the organization owning this space"
          },
          "parent": {
            "type": "string",
            "description": "ID of the parent collection."
          },
          "language": {
            "$ref": "#/components/schemas/TranslationLanguage"
          },
          "gitSync": {
            "$ref": "#/components/schemas/GitSyncState"
          },
          "visitorAuth": {
            "$ref": "#/components/schemas/VisitorAuth"
          },
          "revision": {
            "type": "string",
            "description": "ID of the active revision in the space."
          },
          "defaultLevel": {
            "$ref": "#/components/schemas/DefaultLevel"
          },
          "comments": {
            "type": "number",
            "description": "Count of opened comments on the space."
          },
          "changeRequests": {
            "type": "number",
            "description": "Total count of change requests on the space."
          },
          "changeRequestsOpen": {
            "type": "number",
            "description": "Count of open change requests on the space."
          },
          "changeRequestsDraft": {
            "type": "number",
            "description": "Count of draft change requests on the space."
          },
          "internal_poweredByV2": {
            "type": "boolean",
            "description": "Whether the space is powered by V2 of the content system."
          },
          "internal_singleWebsocket": {
            "type": "boolean",
            "description": "Whether the space uses a single websocket connection for all real-time communication."
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the space",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the space content."
              },
              "access": {
                "type": "boolean",
                "description": "Can the user access the space in the application."
              },
              "admin": {
                "type": "boolean",
                "description": "Can the user edit the title, install integrations, and manage the space."
              },
              "viewInviteLinks": {
                "type": "boolean",
                "description": "Can the user view the invite links of the space."
              },
              "edit": {
                "type": "boolean",
                "description": "Can the user edit the content of the space by creating a change request."
              },
              "triggerGitSync": {
                "type": "boolean",
                "description": "Can the user trigger a git sync."
              },
              "comment": {
                "type": "boolean",
                "description": "Can the user comment on the content."
              },
              "merge": {
                "type": "boolean",
                "description": "Can the user merge change requests."
              },
              "review": {
                "type": "boolean",
                "description": "Can the user review change requests."
              },
              "installIntegration": {
                "type": "boolean",
                "description": "Can the user install integrations in the space."
              }
            },
            "required": [
              "view",
              "access",
              "admin",
              "viewInviteLinks",
              "edit",
              "triggerGitSync",
              "comment",
              "merge",
              "review",
              "installIntegration"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "emoji",
          "organization",
          "visibility",
          "revision",
          "createdAt",
          "updatedAt",
          "comments",
          "changeRequests",
          "changeRequestsOpen",
          "changeRequestsDraft",
          "mergeRules",
          "urls",
          "defaultLevel",
          "permissions"
        ]
      },
      "SpacePointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "space"
            ]
          },
          "space": {
            "type": "string",
            "description": "Unique identifier for the space"
          }
        },
        "required": [
          "type",
          "space"
        ]
      },
      "CollectionPointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "collection"
            ]
          },
          "collection": {
            "type": "string",
            "description": "Unique identifier for the collection"
          }
        },
        "required": [
          "type",
          "collection"
        ]
      },
      "ContentPosition": {
        "type": "object",
        "description": "Position at which to insert an item",
        "properties": {
          "before": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SpacePointer"
              },
              {
                "$ref": "#/components/schemas/CollectionPointer"
              }
            ]
          },
          "after": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SpacePointer"
              },
              {
                "$ref": "#/components/schemas/CollectionPointer"
              }
            ]
          }
        }
      },
      "IntegrationBlockMarkdown": {
        "oneOf": [
          {
            "type": "object",
            "description": "Format the custom block as a codeblock",
            "properties": {
              "codeblock": {
                "description": "Code block syntax to use to identify the block.",
                "type": "string"
              },
              "body": {
                "description": "Key of the property to use as body of the codeblock.",
                "type": "string"
              }
            },
            "required": [
              "codeblock",
              "body"
            ]
          }
        ]
      },
      "IntegrationBlock": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID in the integration for the block. It also represents the UI component used."
          },
          "title": {
            "type": "string",
            "description": "Short descriptive title for the block.",
            "minLength": 2,
            "maxLength": 40
          },
          "description": {
            "type": "string",
            "description": "Long descriptive text for the block.",
            "minLength": 0,
            "maxLength": 150
          },
          "icon": {
            "type": "string",
            "description": "URL of the icon to represent this block."
          },
          "urlUnfurl": {
            "type": "array",
            "description": "URLs patterns to convert as this block.",
            "items": {
              "type": "string"
            }
          },
          "markdown": {
            "$ref": "#/components/schemas/IntegrationBlockMarkdown"
          }
        },
        "required": [
          "id",
          "title"
        ]
      },
      "Embed": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              },
              "site": {
                "type": "string"
              },
              "icon": {
                "type": "string"
              }
            },
            "required": [
              "title",
              "site"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "title": "Link",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "link"
                    ]
                  }
                },
                "required": [
                  "type"
                ]
              },
              {
                "type": "object",
                "title": "HTML",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "rich"
                    ]
                  },
                  "html": {
                    "type": "string"
                  }
                },
                "required": [
                  "type",
                  "html"
                ]
              },
              {
                "type": "object",
                "title": "Integration",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "integration"
                    ]
                  },
                  "integration": {
                    "description": "The identifier of the integration performing the rendering",
                    "type": "string"
                  },
                  "block": {
                    "$ref": "#/components/schemas/IntegrationBlock"
                  }
                },
                "required": [
                  "type",
                  "integration",
                  "block"
                ]
              }
            ]
          }
        ]
      },
      "SearchResultScore": {
        "type": "number",
        "minimum": 0,
        "description": "Relevance score for a search result. Higher is better and the score is unbounded."
      },
      "SearchSectionResult": {
        "type": "object",
        "description": "Search result representing a section in a page.",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "score": {
            "$ref": "#/components/schemas/SearchResultScore"
          },
          "body": {
            "type": "string"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "app": {
                "type": "string",
                "description": "URL of the section in the application",
                "format": "uri"
              }
            },
            "required": [
              "app"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "path",
          "score",
          "body",
          "urls"
        ]
      },
      "SearchPageResult": {
        "type": "object",
        "description": "Search result representing a page in a space.",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "score": {
            "$ref": "#/components/schemas/SearchResultScore"
          },
          "sections": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchSectionResult"
            }
          },
          "ancestors": {
            "type": "array",
            "description": "Data about the ancestors of the current page, from top-level to direct parent.",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "type": "string"
                }
              },
              "required": [
                "title"
              ]
            }
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "app": {
                "type": "string",
                "description": "URL of the page in the application",
                "format": "uri"
              }
            },
            "required": [
              "app"
            ]
          }
        },
        "required": [
          "id",
          "title",
          "path",
          "score",
          "ancestors",
          "urls"
        ]
      },
      "UpdateSpaceGitInfo": {
        "type": "object",
        "description": "Update metadata about the Git provider on the space",
        "properties": {
          "provider": {
            "type": "string",
            "description": "The git provider",
            "enum": [
              "github",
              "gitlab"
            ]
          },
          "url": {
            "type": "string",
            "description": "The repository's tree URL"
          }
        }
      },
      "ImportGitRepository": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the Git repository to import. It can contain basic auth credentials."
          },
          "ref": {
            "type": "string",
            "description": "Git ref to import in the format \"refs/heads/main\""
          },
          "repoCacheID": {
            "type": "string",
            "description": "Unique identifier to use to cache the Git repository across multiple operations.",
            "deprecated": true
          },
          "repoTreeURL": {
            "type": "string",
            "description": "URL to use as a prefix for external file references."
          },
          "repoCommitURL": {
            "type": "string",
            "description": "URL to use as a prefix for the commit URL."
          },
          "repoProjectDirectory": {
            "type": "string",
            "description": "Path to a root directory for the project in the repository."
          },
          "timestamp": {
            "description": "The timestamp of the event that triggered this import. It ensures that Git sync import and export operations are executed in the same order on GitBook and on the remote repository.\n",
            "$ref": "#/components/schemas/Timestamp"
          },
          "force": {
            "type": "boolean"
          },
          "standalone": {
            "type": "boolean",
            "description": "If true, the import will generate a revision without updating the space primary content."
          },
          "gitInfo": {
            "description": "Optional metadata to store on the space about the Git provider",
            "$ref": "#/components/schemas/UpdateSpaceGitInfo"
          }
        },
        "required": [
          "url",
          "ref"
        ]
      },
      "ExportToGitRepository": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the Git repository to export to. It can contain basic auth credentials."
          },
          "ref": {
            "type": "string",
            "description": "Git ref to push the commit to in the format \"refs/heads/main\""
          },
          "commitMessage": {
            "type": "string",
            "description": "Message for the commit generated by the export"
          },
          "repoCacheID": {
            "type": "string",
            "description": "Unique identifier to use to cache the Git repository across multiple operations.",
            "deprecated": true
          },
          "repoTreeURL": {
            "type": "string",
            "description": "URL to use as a prefix for external file references."
          },
          "repoCommitURL": {
            "type": "string",
            "description": "URL to use as a prefix for the commit URL."
          },
          "repoProjectDirectory": {
            "type": "string",
            "description": "Path to a root directory for the project in the repository."
          },
          "timestamp": {
            "description": "The timestamp of the event that triggered this export. It ensures that Git sync import and export operations are executed in the same order on GitBook and on the remote repository.\n",
            "$ref": "#/components/schemas/Timestamp"
          },
          "force": {
            "type": "boolean"
          },
          "gitInfo": {
            "description": "Optional metadata to store on the space about the Git provider",
            "$ref": "#/components/schemas/UpdateSpaceGitInfo"
          }
        },
        "required": [
          "url",
          "ref",
          "commitMessage"
        ]
      },
      "InviteUsersAndTeams": {
        "type": "object",
        "properties": {
          "role": {
            "description": "Role to set.",
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          }
        },
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "teams": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "string",
                  "description": "The ID of the team to be invited"
                }
              }
            },
            "required": [
              "teams"
            ]
          },
          {
            "type": "object",
            "properties": {
              "users": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "string",
                  "description": "The ID of the user to be invited"
                }
              }
            },
            "required": [
              "users"
            ]
          }
        ],
        "required": [
          "role"
        ]
      },
      "UserContentPermission": {
        "type": "object",
        "description": "Permission of a user in a content.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "permission",
          "user"
        ]
      },
      "OrganizationTeamTitle": {
        "type": "string",
        "description": "Title of the team",
        "minLength": 1,
        "maxLength": 64
      },
      "OrganizationTeam": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"team\"",
            "enum": [
              "team"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the team."
          },
          "title": {
            "$ref": "#/components/schemas/OrganizationTeamTitle"
          },
          "members": {
            "type": "integer",
            "description": "Count of members in this team."
          },
          "spaces": {
            "type": "number",
            "description": "Count of spaces this team has access to."
          },
          "createdAt": {
            "description": "Date at which the team was created.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the team",
            "properties": {
              "admin": {
                "type": "boolean",
                "description": "Can the user manage the team"
              },
              "view": {
                "type": "boolean",
                "description": "Can the user view the team and list its members"
              }
            },
            "required": [
              "admin",
              "view"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "members",
          "spaces",
          "createdAt",
          "permissions"
        ]
      },
      "Icon": {
        "type": "string",
        "maxLength": 50,
        "format": "icon",
        "description": "Name of the icon",
        "example": "gear"
      },
      "RevisionPageBase": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for the page in the revision",
            "type": "string"
          },
          "title": {
            "description": "Title of the page",
            "type": "string",
            "minLength": 1
          },
          "linkTitle": {
            "description": "Optional custom title for the page ToC and mention entries instead of the page title.",
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "emoji": {
            "description": "Emoji of the page, if one has been set.",
            "$ref": "#/components/schemas/Emoji"
          },
          "icon": {
            "description": "Icon of the page, if one has been set.",
            "$ref": "#/components/schemas/Icon"
          },
          "createdAt": {
            "description": "When the page was first created. Only present if page has been edited at least once.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "description": "When the page was last edited. Only present if page has been edited at least once.",
            "$ref": "#/components/schemas/Timestamp"
          }
        },
        "required": [
          "id",
          "title"
        ]
      },
      "MarkdownDocument": {
        "type": "object",
        "properties": {
          "markdown": {
            "type": "string",
            "description": "Content of the document formatted as markdown"
          }
        },
        "required": [
          "markdown"
        ]
      },
      "DocumentMarkBold": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "bold"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentMarkItalic": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "italic"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentMarkCode": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "code"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentMarkKeyboard": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "keyboard"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentMarkStrikethrough": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "strikethrough"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentTextColor": {
        "type": "string",
        "enum": [
          "default",
          "green",
          "blue",
          "red",
          "orange",
          "yellow",
          "purple",
          "$primary",
          "$info",
          "$success",
          "$warning",
          "$danger"
        ]
      },
      "DocumentMarkColor": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "color"
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "text": {
                "$ref": "#/components/schemas/DocumentTextColor"
              },
              "background": {
                "$ref": "#/components/schemas/DocumentTextColor"
              }
            },
            "required": [
              "text",
              "background"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data"
        ]
      },
      "DocumentMarkSuperscript": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "superscript"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentMarkSubscript": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "mark"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "subscript"
            ]
          }
        },
        "required": [
          "object",
          "type"
        ]
      },
      "DocumentTextMark": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentMarkBold"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkItalic"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkCode"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkKeyboard"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkStrikethrough"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkColor"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkSuperscript"
          },
          {
            "$ref": "#/components/schemas/DocumentMarkSubscript"
          }
        ]
      },
      "DocumentTextLeaf": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "leaf"
            ]
          },
          "text": {
            "type": "string"
          },
          "marks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentTextMark"
            }
          }
        },
        "required": [
          "object",
          "text",
          "marks"
        ]
      },
      "DocumentText": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "text"
            ]
          },
          "key": {
            "type": "string"
          },
          "leaves": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentTextLeaf"
            }
          }
        },
        "required": [
          "object",
          "leaves"
        ]
      },
      "ContentRefURL": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "url"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "url"
        ]
      },
      "ContentRefFile": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "file"
            ]
          },
          "file": {
            "type": "string"
          },
          "space": {
            "description": "ID of the space the file is in. The file is considered as in the current space if none is provided.",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "file"
        ]
      },
      "DocumentInlineImage": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "inline-image"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefURL"
                  },
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              },
              "refDark": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefURL"
                  },
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              },
              "caption": {
                "type": "string"
              },
              "alt": {
                "type": "string"
              },
              "size": {
                "type": "string",
                "enum": [
                  "original",
                  "line"
                ]
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "ContentRefPage": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "page"
            ]
          },
          "page": {
            "type": "string"
          },
          "space": {
            "description": "ID of the space the page is in. The page is considered as in the current space if none is provided.",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "page"
        ]
      },
      "ContentRefAnchor": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "anchor"
            ]
          },
          "anchor": {
            "type": "string"
          },
          "space": {
            "description": "ID of the space the page is in. The page is considered as in the current space if none is provided.",
            "type": "string"
          },
          "page": {
            "description": "ID of the page the anchor is in. The anchor is considered as in the current page if none is provided.",
            "type": "string"
          }
        },
        "required": [
          "kind",
          "anchor"
        ]
      },
      "ContentRefUser": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "user": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "user"
        ]
      },
      "ContentRefCollection": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "collection"
            ]
          },
          "collection": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "collection"
        ]
      },
      "ContentRefSpace": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "space"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "space"
        ]
      },
      "ContentRefReusableContent": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "reusable-content"
            ]
          },
          "reusableContent": {
            "type": "string"
          },
          "space": {
            "type": "string",
            "description": "The space in which the reusable content is defined. If undefined, the reusable content is assumed to be in the same space as the content reference."
          }
        },
        "required": [
          "kind",
          "reusableContent"
        ]
      },
      "ContentRefTag": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "tag"
            ]
          },
          "tag": {
            "type": "string",
            "description": "The slug of the tag, also used as the ID, and references the tags defined on a revision."
          },
          "space": {
            "type": "string",
            "description": "The space in which the tag is defined. If undefined, the tag is assumed to be in the same space as the content reference."
          }
        },
        "required": [
          "kind",
          "tag"
        ]
      },
      "ContentRefOpenAPI": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "openapi"
            ]
          },
          "spec": {
            "type": "string",
            "description": "Slug of the OpenAPI specification"
          }
        },
        "required": [
          "kind",
          "spec"
        ]
      },
      "ContentRef": {
        "description": "A relative reference to content in GitBook.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentRefFile"
          },
          {
            "$ref": "#/components/schemas/ContentRefURL"
          },
          {
            "$ref": "#/components/schemas/ContentRefPage"
          },
          {
            "$ref": "#/components/schemas/ContentRefAnchor"
          },
          {
            "$ref": "#/components/schemas/ContentRefUser"
          },
          {
            "$ref": "#/components/schemas/ContentRefCollection"
          },
          {
            "$ref": "#/components/schemas/ContentRefSpace"
          },
          {
            "$ref": "#/components/schemas/ContentRefReusableContent"
          },
          {
            "$ref": "#/components/schemas/ContentRefTag"
          },
          {
            "$ref": "#/components/schemas/ContentRefOpenAPI"
          }
        ]
      },
      "DocumentInlineLink": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "link"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentText"
                },
                {
                  "$ref": "#/components/schemas/DocumentInlineImage"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "$ref": "#/components/schemas/ContentRef"
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentInlineEmoji": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "emoji"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "code": {
                "type": "string"
              }
            },
            "required": [
              "code"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentInlineIcon": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "icon"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "icon": {
                "type": "string"
              },
              "color": {
                "$ref": "#/components/schemas/DocumentTextColor"
              }
            },
            "required": [
              "icon"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentInlineExpression": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "expression"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "expression": {
                "type": "string"
              }
            },
            "required": [
              "expression"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentInlineMath": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "inline-math"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "formula": {
                "type": "string"
              }
            },
            "required": [
              "formula"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockParagraph": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "paragraph"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentInline"
                },
                {
                  "$ref": "#/components/schemas/DocumentText"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "align": {
                "$ref": "#/components/schemas/TextAlignment"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentInline": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentInlineLink"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineEmoji"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineIcon"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineExpression"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineMath"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineImage"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineAnnotation"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineMention"
          },
          {
            "$ref": "#/components/schemas/DocumentInlineButton"
          }
        ]
      },
      "TextAlignment": {
        "type": "string",
        "enum": [
          "start",
          "center",
          "end"
        ]
      },
      "DocumentBlockHeading": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "heading-1",
              "heading-2",
              "heading-3"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentInline"
                },
                {
                  "$ref": "#/components/schemas/DocumentText"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[-a-z0-9.+_]+$"
              },
              "align": {
                "$ref": "#/components/schemas/TextAlignment"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlocksEssentials": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentBlockParagraph"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockHeading"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListOrdered"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListUnordered"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListTasks"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockDivider"
          }
        ]
      },
      "DocumentInlineAnnotation": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "annotation"
            ]
          },
          "key": {
            "type": "string"
          },
          "fragments": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/DocumentFragment"
                },
                {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "annotation-body"
                      ]
                    },
                    "nodes": {
                      "type": "array",
                      "items": {
                        "oneOf": [
                          {
                            "$ref": "#/components/schemas/DocumentBlocksEssentials"
                          },
                          {
                            "$ref": "#/components/schemas/DocumentBlockCode"
                          }
                        ]
                      },
                      "minItems": 1
                    }
                  },
                  "required": [
                    "nodes",
                    "type"
                  ]
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentText"
            }
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "fragments",
          "isVoid",
          "nodes"
        ]
      },
      "DocumentBlockCodeLine": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "code-line"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentText"
                },
                {
                  "$ref": "#/components/schemas/DocumentInlineAnnotation"
                },
                {
                  "$ref": "#/components/schemas/DocumentInlineExpression"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "highlighted": {
                "type": "boolean"
              }
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlockCode": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "code"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "syntax": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "overflow": {
                "type": "string",
                "default": "scroll",
                "enum": [
                  "scroll",
                  "wrap"
                ]
              },
              "lineNumbers": {
                "type": "boolean"
              },
              "fullWidth": {
                "type": "boolean"
              },
              "expandable": {
                "type": "boolean"
              },
              "collapsedLineCount": {
                "type": "integer",
                "description": "Number of lines rendered in a code block when it is collapsed",
                "minimum": 1,
                "default": 10
              }
            }
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockCodeLine"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "nodes"
        ]
      },
      "DocumentBlockHint": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "hint"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "style": {
                "type": "string",
                "enum": [
                  "info",
                  "warning",
                  "danger",
                  "success"
                ]
              },
              "icon": {
                "$ref": "#/components/schemas/Icon"
              }
            },
            "required": [
              "style"
            ]
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlocksEssentials"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "nodes"
        ]
      },
      "DocumentBlockQuote": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "blockquote"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentBlockMath": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "math"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "formula": {
                "type": "string"
              }
            },
            "required": [
              "formula"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentTableViewGrid": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "grid"
            ]
          },
          "columns": {
            "type": "array",
            "description": "Ordered list of the definition IDs to display",
            "items": {
              "type": "string"
            }
          },
          "columnWidths": {
            "type": "object",
            "description": "Percent width of each column",
            "additionalProperties": {
              "type": "number"
            }
          },
          "hideHeader": {
            "type": "boolean",
            "description": "Should we display the header with column titles"
          },
          "useNewSizing": {
            "type": "boolean",
            "description": "Tables in GitBook originally used a scaled width approach i.e. the width defined\nin columnWidths would be scaled to ensure a 100% width table.\n\nWe later changed this to treat the widths in columnWidths as exact values - they are\nnever scaled. A columnWidth of 50 is rendered as 50px.\n\nIn order to maintain backwards compatibility, we track whether or not we\nuse the new system here.\n\nAll new tables should have this value set to true, older tables will have it set\nto undefined.\n"
          }
        },
        "required": [
          "type",
          "columns",
          "hideHeader"
        ]
      },
      "DocumentTableViewCards": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "cards"
            ]
          },
          "cardSize": {
            "type": "string",
            "description": "Size of the cards. It indicates how many columns will be used",
            "enum": [
              "medium",
              "large"
            ]
          },
          "columns": {
            "type": "array",
            "description": "Ordered list of the definition IDs to display",
            "items": {
              "type": "string"
            }
          },
          "targetDefinition": {
            "type": "string",
            "description": "Definition ID to use as a target link for the card"
          },
          "coverDefinition": {
            "type": "string",
            "description": "Definition ID to use as a cover image"
          },
          "coverDefinitionDark": {
            "type": "string",
            "description": "Definition ID to use as a dark mode cover image"
          },
          "hideColumnTitle": {
            "type": "boolean",
            "description": "Should we display the column title or not"
          }
        },
        "required": [
          "type",
          "columns",
          "cardSize"
        ]
      },
      "CardsImageObjectFit": {
        "type": "string",
        "description": "Object fit for image display in card views",
        "enum": [
          "contain",
          "fill",
          "cover"
        ]
      },
      "DocumentTableImageRecord": {
        "description": "A table record value for image columns, supporting both direct ContentRefs and the additional format with record-level settings.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentRefFile"
          },
          {
            "$ref": "#/components/schemas/ContentRefURL"
          },
          {
            "type": "object",
            "properties": {
              "ref": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  },
                  {
                    "$ref": "#/components/schemas/ContentRefURL"
                  }
                ]
              },
              "objectFit": {
                "$ref": "#/components/schemas/CardsImageObjectFit"
              },
              "alt": {
                "type": "string",
                "description": "Alternative text for the cover image"
              }
            },
            "required": [
              "ref"
            ]
          }
        ]
      },
      "DocumentTableRecord": {
        "type": "object",
        "properties": {
          "orderIndex": {
            "type": "string"
          },
          "values": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "number"
                },
                {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                {
                  "type": "boolean"
                },
                {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                {
                  "$ref": "#/components/schemas/ContentRef"
                },
                {
                  "$ref": "#/components/schemas/DocumentTableImageRecord"
                }
              ]
            }
          }
        },
        "required": [
          "orderIndex",
          "values"
        ]
      },
      "DocumentTableDefinitionBase": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "Title for the column"
          }
        },
        "required": [
          "id",
          "title"
        ]
      },
      "VerticalAlignment": {
        "type": "string",
        "enum": [
          "top",
          "middle",
          "bottom"
        ]
      },
      "DocumentTableDefinitionText": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "text"
                ]
              },
              "textAlignment": {
                "type": "string",
                "enum": [
                  "center",
                  "right",
                  "left"
                ]
              },
              "verticalAlignment": {
                "$ref": "#/components/schemas/VerticalAlignment"
              }
            },
            "required": [
              "type",
              "textAlignment"
            ]
          }
        ]
      },
      "DocumentTableDefinitionNumber": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "number"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "DocumentTableDefinitionCheckbox": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "checkbox"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "DocumentTableDefinitionFiles": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "files"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "DocumentTableDefinitionUsers": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "users"
                ]
              },
              "multiple": {
                "type": "boolean"
              }
            },
            "required": [
              "type",
              "multiple"
            ]
          }
        ]
      },
      "DocumentTableDefinitionRating": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "rating"
                ]
              },
              "max": {
                "type": "number"
              }
            },
            "required": [
              "type",
              "max"
            ]
          }
        ]
      },
      "DocumentTableSelectOption": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "color": {
            "type": "string"
          }
        },
        "required": [
          "value",
          "label",
          "color"
        ]
      },
      "DocumentTableDefinitionSelect": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "select"
                ]
              },
              "multiple": {
                "type": "boolean"
              },
              "options": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DocumentTableSelectOption"
                }
              }
            },
            "required": [
              "type",
              "multiple",
              "options"
            ]
          }
        ]
      },
      "DocumentTableDefinitionContentRef": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "content-ref"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "DocumentTableDefinitionImage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "image"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "DocumentTableDefinition": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionText"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionNumber"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionCheckbox"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionFiles"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionUsers"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionRating"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionSelect"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionContentRef"
          },
          {
            "$ref": "#/components/schemas/DocumentTableDefinitionImage"
          }
        ]
      },
      "DocumentFragment": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "fragment"
            ]
          },
          "key": {
            "type": "string"
          },
          "fragment": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlock"
            }
          }
        },
        "required": [
          "object",
          "nodes"
        ]
      },
      "DocumentBlockTable": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "table"
            ]
          },
          "key": {
            "type": "string"
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "view": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/DocumentTableViewGrid"
                  },
                  {
                    "$ref": "#/components/schemas/DocumentTableViewCards"
                  }
                ]
              },
              "records": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/DocumentTableRecord"
                }
              },
              "definition": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/DocumentTableDefinition"
                }
              },
              "fullWidth": {
                "type": "boolean",
                "description": "Whether to render the block as a full width one"
              }
            },
            "required": [
              "view",
              "records",
              "definition"
            ]
          },
          "fragments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentFragment"
            }
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid",
          "fragments"
        ]
      },
      "DocumentBlockListItem": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "list-item"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockCode"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockHint"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockMath"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockTable"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "checked": {
                "type": "boolean"
              }
            }
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentBlockListOrdered": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "list-ordered"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "start": {
                "type": "number",
                "description": "An integer to start counting from for the list items."
              }
            }
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlockListItem"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "nodes"
        ]
      },
      "DocumentBlockListUnordered": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "list-unordered"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlockListItem"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "additionalProperties": false
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentBlockListTasks": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "list-tasks"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlockListItem"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentBlockDivider": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "divider"
            ]
          },
          "key": {
            "type": "string"
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "isVoid",
          "data"
        ]
      },
      "DocumentBlocksTopLevels": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentBlocksEssentials"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockQuote"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockHint"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockImages"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockFile"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockDrawing"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockEmbed"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockCode"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockMath"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockExpandable"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockTabs"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockTable"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPI"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPIOperation"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPISchemas"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPIWebhook"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockContentRef"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockIntegration"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockReusableContent"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockStepper"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockIf"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockColumns"
          }
        ]
      },
      "DocumentBlockIf": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "if"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlocksTopLevels"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "expression": {
                "type": "string"
              }
            },
            "required": [
              "expression"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "Length": {
        "oneOf": [
          {
            "type": "number"
          },
          {
            "type": "object",
            "properties": {
              "unit": {
                "type": "string"
              },
              "value": {
                "type": "number"
              }
            },
            "required": [
              "unit",
              "value"
            ]
          }
        ]
      },
      "DocumentBlockImage": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefURL"
                  },
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              },
              "refDark": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefURL"
                  },
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              },
              "width": {
                "$ref": "#/components/schemas/Length"
              },
              "height": {
                "$ref": "#/components/schemas/Length"
              },
              "alt": {
                "type": "string"
              }
            },
            "required": [
              "ref"
            ]
          },
          "fragments": {
            "type": "array",
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/DocumentFragment"
                },
                {
                  "type": "object",
                  "properties": {
                    "fragment": {
                      "type": "string",
                      "enum": [
                        "caption"
                      ]
                    },
                    "nodes": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/DocumentBlockParagraph"
                      }
                    }
                  },
                  "required": [
                    "nodes",
                    "fragment"
                  ]
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "fragments",
          "isVoid"
        ]
      },
      "DocumentBlockImages": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "images"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "align": {
                "type": "string",
                "enum": [
                  "center",
                  "left",
                  "right"
                ]
              },
              "fullWidth": {
                "type": "boolean"
              },
              "withFrame": {
                "type": "boolean"
              }
            }
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockImage"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "nodes",
          "isVoid"
        ]
      },
      "DocumentBlockFile": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "file"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockDrawing": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "drawing"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/ContentRefFile"
                  }
                ]
              }
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockEmbed": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "embed"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "fullWidth": {
                "type": "boolean"
              }
            },
            "required": [
              "url"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockReusableContent": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "reusable-content"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "$ref": "#/components/schemas/ContentRefReusableContent"
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "token": {
                "description": "A content token that can be used to fetch the reusable content from the API.",
                "type": "string"
              }
            }
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "PlainObject": {
        "properties": {},
        "additionalProperties": {
          "oneOf": [
            {
              "$ref": "#/components/schemas/PlainObject"
            },
            {
              "type": "string"
            },
            {
              "type": "boolean"
            },
            {
              "type": "number"
            },
            {
              "type": "array",
              "items": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "$ref": "#/components/schemas/PlainObject"
                  }
                ]
              }
            }
          ]
        }
      },
      "ContentKitDefaultAction": {
        "oneOf": [
          {
            "type": "object",
            "description": "Action to open an overlay modal defined by \"componentId\".",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "@ui.modal.open"
                ]
              },
              "componentId": {
                "type": "string"
              },
              "props": {
                "$ref": "#/components/schemas/PlainObject"
              }
            },
            "required": [
              "action",
              "componentId",
              "props"
            ]
          },
          {
            "type": "object",
            "description": "Action when a modal overlay is closed, with a return value to the higher level component in the stack. This action will be triggered on the parent component instance.",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "@ui.modal.close"
                ]
              },
              "returnValue": {
                "$ref": "#/components/schemas/PlainObject"
              }
            },
            "required": [
              "action",
              "returnValue"
            ]
          },
          {
            "type": "object",
            "description": "Action to open an url.",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "@ui.url.open"
                ]
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "action",
              "url"
            ]
          },
          {
            "type": "object",
            "description": "Action when a link is being unfurled into a block.",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "@link.unfurl"
                ]
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "action",
              "url"
            ]
          },
          {
            "type": "object",
            "description": "Action to update the properties stored in the related node.",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "@editor.node.updateProps"
                ]
              },
              "props": {
                "$ref": "#/components/schemas/PlainObject"
              }
            },
            "required": [
              "action",
              "props"
            ]
          }
        ]
      },
      "ContentKitAction": {
        "anyOf": [
          {
            "type": "object",
            "description": "Custom action to re-render the block.",
            "properties": {
              "action": {
                "type": "string"
              }
            },
            "additionalProperties": true,
            "required": [
              "action"
            ]
          },
          {
            "$ref": "#/components/schemas/ContentKitDefaultAction"
          }
        ]
      },
      "DocumentBlockIntegration": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "integration"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Name of the integration"
              },
              "block": {
                "type": "string",
                "description": "ID of the block in the integration"
              },
              "props": {
                "description": "Properties passed to the block during rendering",
                "$ref": "#/components/schemas/PlainObject"
              },
              "action": {
                "$ref": "#/components/schemas/ContentKitAction"
              },
              "url": {
                "type": "string",
                "description": "URL associated with the content represented by the block.\nThis property is set when creating a block from a URL (unfurl) to ensure\nwe can convert the block back to an embed.\n"
              },
              "fullWidth": {
                "type": "boolean"
              }
            },
            "required": [
              "integration",
              "block",
              "props"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockExpandable": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "expandable"
            ]
          },
          "key": {
            "type": "string"
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "defaultExpanded": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "fragments": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DocumentFragment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "fragment": {
                          "type": "string",
                          "enum": [
                            "expandable-title"
                          ]
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "expandable-title"
                          ]
                        },
                        "nodes": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/DocumentBlockParagraph"
                          },
                          "minItems": 1,
                          "maxItems": 1
                        }
                      },
                      "required": [
                        "nodes",
                        "fragment",
                        "type"
                      ]
                    }
                  ]
                },
                {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/DocumentFragment"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "fragment": {
                          "type": "string",
                          "enum": [
                            "expandable-body"
                          ]
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "expandable-body"
                          ]
                        },
                        "nodes": {
                          "type": "array",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/DocumentBlocksEssentials"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockFile"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockImages"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockCode"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockTable"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockHint"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockQuote"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockReusableContent"
                              },
                              {
                                "$ref": "#/components/schemas/DocumentBlockIntegration"
                              }
                            ]
                          },
                          "minItems": 1
                        }
                      },
                      "required": [
                        "nodes",
                        "fragment",
                        "type"
                      ]
                    }
                  ]
                }
              ]
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "isVoid",
          "fragments",
          "data"
        ]
      },
      "DocumentBlockContentRef": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "content-ref"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "$ref": "#/components/schemas/ContentRef"
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockTabsItem": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "tabs-item"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockContentRef"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockCode"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockEmbed"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockFile"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockImages"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockDrawing"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockHint"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockMath"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockIntegration"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "title": {
                "type": "string"
              }
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlockTabs": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "tabs"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockTabsItem"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "fullWidth": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "OpenAPIOperationPointer": {
        "type": "object",
        "description": "Pointer to an operation in the OpenAPI spec.",
        "properties": {
          "path": {
            "type": "string",
            "description": "Path of the operation in the OpenAPI spec."
          },
          "method": {
            "type": "string",
            "description": "HTTP method of the operation in the OpenAPI spec."
          }
        },
        "required": [
          "path",
          "method"
        ]
      },
      "DocumentBlockOpenAPI": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "swagger"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpenAPIOperationPointer"
              },
              {
                "type": "object",
                "properties": {
                  "ref": {
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/ContentRefFile"
                      },
                      {
                        "$ref": "#/components/schemas/ContentRefURL"
                      }
                    ]
                  },
                  "expanded": {
                    "type": "boolean",
                    "description": "If true, the block is opened by default."
                  },
                  "fullWidth": {
                    "type": "boolean"
                  }
                },
                "required": [
                  "ref"
                ]
              }
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockOpenAPIOperation": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "openapi-operation"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpenAPIOperationPointer"
              },
              {
                "type": "object",
                "properties": {
                  "ref": {
                    "$ref": "#/components/schemas/ContentRefOpenAPI"
                  }
                },
                "required": [
                  "ref"
                ]
              }
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "OpenAPISchemasPointer": {
        "type": "object",
        "description": "Pointer to schemas in the OpenAPI spec.",
        "properties": {
          "grouped": {
            "type": "boolean",
            "description": "Whether the schemas are grouped or not.",
            "default": true
          },
          "schemas": {
            "type": "array",
            "description": "List of schemas name from the OpenAPI spec.",
            "items": {
              "type": "string"
            }
          },
          "title": {
            "type": "string",
            "description": "Custom title for the schemas block. When not provided, defaults to \"The <SchemaName> object\"."
          }
        },
        "required": [
          "schemas"
        ]
      },
      "DocumentBlockOpenAPISchemas": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "openapi-schemas"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpenAPISchemasPointer"
              },
              {
                "type": "object",
                "properties": {
                  "ref": {
                    "$ref": "#/components/schemas/ContentRefOpenAPI"
                  }
                },
                "required": [
                  "ref"
                ]
              }
            ],
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "OpenAPIWebhookPointer": {
        "type": "object",
        "description": "Pointer to a webhook in the OpenAPI spec.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the webhook in the OpenAPI spec."
          },
          "method": {
            "type": "string",
            "description": "HTTP method of the webhook in the OpenAPI spec."
          }
        },
        "required": [
          "name",
          "method"
        ]
      },
      "DocumentBlockOpenAPIWebhook": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "openapi-webhook"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OpenAPIWebhookPointer"
              },
              {
                "type": "object",
                "properties": {
                  "ref": {
                    "$ref": "#/components/schemas/ContentRefOpenAPI"
                  }
                },
                "required": [
                  "ref"
                ]
              }
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "meta": {
            "type": "object",
            "properties": {
              "id": {
                "description": "Unique ID to be used in an URL for the block.",
                "type": "string"
              }
            },
            "required": [
              "id"
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentBlockStepperStep": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "stepper-step"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockContentRef"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockCode"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockEmbed"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockFile"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockImages"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockDrawing"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockHint"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockMath"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockIntegration"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockExpandable"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "icon": {
                "type": "string"
              }
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlockStepper": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "stepper"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockStepperStep"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes"
        ]
      },
      "DocumentBlockColumn": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "column"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockImages"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockCode"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockHint"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockContentRef"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockDrawing"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockEmbed"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockFile"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockIntegration"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockMath"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockTable"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockExpandable"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockStepper"
                }
              ]
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "width": {
                "$ref": "#/components/schemas/Length"
              },
              "verticalAlignment": {
                "$ref": "#/components/schemas/VerticalAlignment"
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlockColumns": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "columns"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "fullWidth": {
                "type": "boolean"
              }
            }
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockColumn"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "nodes",
          "isVoid"
        ]
      },
      "DocumentBlockUpdate": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "update"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/DocumentBlocksEssentials"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockContentRef"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockCode"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockEmbed"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockFile"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockImages"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockDrawing"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockHint"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockQuote"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockMath"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockIntegration"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockTabs"
                },
                {
                  "$ref": "#/components/schemas/DocumentBlockExpandable"
                }
              ]
            }
          },
          "data": {
            "type": "object",
            "properties": {
              "date": {
                "$ref": "#/components/schemas/Timestamp"
              },
              "tags": {
                "type": "array",
                "description": "Array of tags. Each tag is id'ed by its slug.",
                "items": {
                  "$ref": "#/components/schemas/ContentRefTag"
                }
              }
            },
            "required": [
              "date"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlockUpdates": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "updates"
            ]
          },
          "key": {
            "type": "string"
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlockUpdate"
            }
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              false
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "format": {
                "type": "string",
                "enum": [
                  "numeric",
                  "full",
                  "short"
                ],
                "default": "full"
              }
            },
            "required": [
              "format"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "object",
          "type",
          "nodes",
          "data"
        ]
      },
      "DocumentBlock": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/DocumentBlockParagraph"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockHeading"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListOrdered"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListUnordered"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListTasks"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockListItem"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockDivider"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockQuote"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockHint"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockIf"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockImages"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockImage"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockFile"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockDrawing"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockEmbed"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockCode"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockCodeLine"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockMath"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockExpandable"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockTabs"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockTabsItem"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockTable"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPI"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPIOperation"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPISchemas"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockOpenAPIWebhook"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockContentRef"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockIntegration"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockReusableContent"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockStepper"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockStepperStep"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockColumns"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockColumn"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockUpdates"
          },
          {
            "$ref": "#/components/schemas/DocumentBlockUpdate"
          }
        ]
      },
      "DocumentInlineMention": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "mention"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "type": "object",
            "properties": {
              "ref": {
                "$ref": "#/components/schemas/ContentRef"
              }
            },
            "required": [
              "ref"
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "DocumentAction": {
        "type": "object",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "search"
                ]
              },
              "query": {
                "type": "string"
              }
            },
            "required": [
              "action"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "action": {
                "type": "string",
                "enum": [
                  "ask"
                ]
              },
              "query": {
                "type": "string"
              }
            },
            "required": [
              "action"
            ],
            "additionalProperties": false
          }
        ]
      },
      "DocumentInlineButton": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "inline"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "button"
            ]
          },
          "key": {
            "type": "string"
          },
          "data": {
            "allOf": [
              {
                "type": "object",
                "properties": {
                  "label": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "primary",
                      "secondary"
                    ]
                  },
                  "icon": {
                    "$ref": "#/components/schemas/Icon"
                  }
                },
                "required": [
                  "label",
                  "kind"
                ]
              },
              {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "ref": {
                        "$ref": "#/components/schemas/ContentRef"
                      }
                    },
                    "required": [
                      "ref"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "action": {
                        "$ref": "#/components/schemas/DocumentAction"
                      }
                    },
                    "required": [
                      "action"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            ]
          },
          "isVoid": {
            "type": "boolean",
            "enum": [
              true
            ]
          }
        },
        "required": [
          "object",
          "type",
          "data",
          "isVoid"
        ]
      },
      "JSONDocument": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "document"
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "schemaVersion": {
                "description": "The schema version of the document. If undefined, the document is considered to be of the latest schema version.",
                "type": "integer"
              }
            },
            "additionalProperties": true
          },
          "nodes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlocksTopLevels"
            }
          },
          "meta": {
            "type": "object",
            "properties": {
              "token": {
                "description": "A content token that can be used to fetch the content referenced in this document from the API.",
                "type": "string"
              }
            }
          }
        },
        "required": [
          "object",
          "data",
          "nodes"
        ]
      },
      "Document": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/MarkdownDocument",
            "title": "Markdown"
          },
          {
            "type": "object",
            "title": "JSON Document",
            "properties": {
              "document": {
                "$ref": "#/components/schemas/JSONDocument"
              }
            },
            "required": [
              "document"
            ]
          },
          {
            "type": "object",
            "title": "Empty",
            "properties": {},
            "additionalProperties": false
          }
        ]
      },
      "RevisionPageSlug": {
        "type": "string",
        "description": "Page's slug in its direct parent",
        "minLength": 0,
        "maxLength": 100
      },
      "RevisionPageDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionPageBase"
          },
          {
            "$ref": "#/components/schemas/Document"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "deprecated": true,
                "enum": [
                  "sheet"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "document"
                ]
              },
              "urls": {
                "required": [
                  "app"
                ],
                "properties": {
                  "app": {
                    "description": "Location of the page in the app",
                    "$ref": "#/components/schemas/URL"
                  }
                }
              },
              "slug": {
                "$ref": "#/components/schemas/RevisionPageSlug"
              },
              "path": {
                "description": "Complete path to access the page in the revision.",
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "pages": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RevisionPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageLink"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageComputed"
                    }
                  ]
                }
              },
              "git": {
                "$ref": "#/components/schemas/GitSyncBlob"
              },
              "layout": {
                "$ref": "#/components/schemas/RevisionPageLayoutOptions"
              },
              "cover": {
                "$ref": "#/components/schemas/RevisionPageDocumentCover"
              },
              "variables": {
                "$ref": "#/components/schemas/Variables"
              },
              "hidden": {
                "type": "boolean",
                "description": "If true, the page is not displayed in the navigation, while still being accessible.",
                "default": false
              },
              "noIndex": {
                "type": "boolean",
                "description": "If true, the page is not indexable in the search and ask features.",
                "default": false
              },
              "noRobotsIndex": {
                "type": "boolean",
                "description": "If true, the page is not indexable by search engine robots.",
                "default": false
              },
              "metaLinks": {
                "description": "Meta links associated with the page.",
                "$ref": "#/components/schemas/RevisionPageMetaLinks"
              },
              "tags": {
                "type": "array",
                "description": "A list of all the tags added to this page",
                "items": {
                  "$ref": "#/components/schemas/RevisionPageTag"
                }
              }
            },
            "required": [
              "kind",
              "type",
              "urls",
              "slug",
              "path",
              "pages",
              "layout",
              "tags"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "description": "Defined when the page was generated by a computed content.",
                "properties": {
                  "computed": {
                    "$ref": "#/components/schemas/ComputedContentSourceDocument"
                  },
                  "computedSeed": {
                    "type": "string",
                    "description": "Seed to use for the generation of IDs."
                  }
                },
                "required": [
                  "computed",
                  "computedSeed"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "documentId": {
                    "type": "string",
                    "description": "ID of the document with the page body. If undefined, the page is empty."
                  }
                }
              }
            ]
          }
        ]
      },
      "RevisionPageLink": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionPageBase"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "deprecated": true,
                "enum": [
                  "link"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "link"
                ]
              },
              "target": {
                "$ref": "#/components/schemas/ContentRef"
              },
              "href": {
                "type": "string"
              },
              "hidden": {
                "type": "boolean",
                "description": "If true, the page is not displayed in the navigation, while still being accessible.",
                "default": false
              }
            },
            "required": [
              "kind",
              "type",
              "target"
            ]
          }
        ]
      },
      "OpenAPISpecVisibility": {
        "type": "string",
        "description": "The visibility setting of the OpenAPI spec.\n* `private`: The spec is not publicly available.\n* `public`: The spec is available to anyone with a public link.\n",
        "enum": [
          "private",
          "public"
        ]
      },
      "ComputedContentDependencyOpenAPI": {
        "type": "object",
        "properties": {
          "ref": {
            "$ref": "#/components/schemas/ContentRefOpenAPI"
          },
          "value": {
            "type": [
              "object",
              "null"
            ],
            "description": "See `OpenAPI` schema component.",
            "properties": {
              "object": {
                "type": "string",
                "enum": [
                  "openapi-spec"
                ]
              },
              "id": {
                "type": "string"
              },
              "slug": {
                "type": "string"
              },
              "lastVersion": {
                "type": "string"
              },
              "visibility": {
                "$ref": "#/components/schemas/OpenAPISpecVisibility"
              }
            },
            "required": [
              "object",
              "id",
              "slug"
            ]
          }
        },
        "required": [
          "ref",
          "value"
        ]
      },
      "ComputedContentSourceOpenAPIBase": {
        "type": "object",
        "description": "Generic parameters from an OpenAPI computed content source",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "builtin:openapi"
            ]
          },
          "dependencies": {
            "type": "object",
            "required": [
              "spec"
            ],
            "properties": {
              "spec": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "ref"
                    ],
                    "properties": {
                      "ref": {
                        "$ref": "#/components/schemas/ContentRefOpenAPI"
                      }
                    }
                  },
                  {
                    "$ref": "#/components/schemas/ComputedContentDependencyOpenAPI"
                  }
                ]
              }
            }
          }
        },
        "required": [
          "type",
          "dependencies"
        ]
      },
      "ComputedContentSourceRevisionOpenAPI": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ComputedContentSourceOpenAPIBase"
          },
          {
            "type": "object",
            "description": "Parameters for an OpenAPI computed revision",
            "required": [
              "props"
            ],
            "properties": {
              "props": {
                "type": "object",
                "properties": {
                  "models": {
                    "type": "boolean"
                  },
                  "downloadLink": {
                    "type": "boolean",
                    "description": "Whether to show a link to download the OpenAPI spec."
                  }
                },
                "required": [
                  "models"
                ]
              }
            }
          }
        ]
      },
      "TranslationRef": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "translation"
            ]
          },
          "translation": {
            "type": "string",
            "description": "ID of the translation sync"
          }
        },
        "required": [
          "kind",
          "translation"
        ]
      },
      "TranslationResult": {
        "type": "object",
        "description": "Result of a translation.",
        "properties": {
          "space": {
            "type": "string",
            "description": "ID of the space containing the result of the translation"
          },
          "revision": {
            "type": "string",
            "description": "ID of the revision generated by the translation"
          }
        },
        "required": [
          "space",
          "revision"
        ]
      },
      "ComputedContentDependencyTranslation": {
        "type": "object",
        "properties": {
          "ref": {
            "$ref": "#/components/schemas/TranslationRef"
          },
          "value": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/TranslationResult"
              },
              {
                "type": "null",
                "description": "Translation has not been run yet"
              }
            ]
          }
        },
        "required": [
          "ref",
          "value"
        ]
      },
      "ComputedContentSourceRevisionTranslation": {
        "type": "object",
        "description": "Parameters for a translation computed content source",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "builtin:translation"
            ]
          },
          "props": {
            "type": "object",
            "additionalProperties": false,
            "properties": {}
          },
          "dependencies": {
            "type": "object",
            "required": [
              "translation"
            ],
            "properties": {
              "translation": {
                "oneOf": [
                  {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "ref"
                    ],
                    "properties": {
                      "ref": {
                        "$ref": "#/components/schemas/TranslationRef"
                      }
                    }
                  },
                  {
                    "$ref": "#/components/schemas/ComputedContentDependencyTranslation"
                  }
                ]
              }
            }
          }
        },
        "required": [
          "type",
          "props",
          "dependencies"
        ]
      },
      "ComputedContentDependency": {
        "type": "object",
        "description": "Dependency for a computation, before its resolution.",
        "additionalProperties": false,
        "properties": {
          "ref": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentRefSpace"
              },
              {
                "$ref": "#/components/schemas/ContentRefOpenAPI"
              },
              {
                "$ref": "#/components/schemas/TranslationRef"
              }
            ]
          }
        },
        "required": [
          "ref"
        ]
      },
      "ComputedContentDependencySpace": {
        "type": "object",
        "properties": {
          "ref": {
            "$ref": "#/components/schemas/ContentRefSpace"
          },
          "value": {
            "type": [
              "object",
              "null"
            ],
            "description": "See `Space` schema component.",
            "properties": {
              "object": {
                "type": "string",
                "enum": [
                  "space"
                ]
              },
              "id": {
                "type": "string"
              },
              "revision": {
                "type": "string"
              }
            },
            "required": [
              "object",
              "id",
              "revision"
            ]
          }
        },
        "required": [
          "ref",
          "value"
        ]
      },
      "ComputedContentDependencyResolved": {
        "description": "Dependency for a computation, with its resolved value.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ComputedContentDependencySpace"
          },
          {
            "$ref": "#/components/schemas/ComputedContentDependencyOpenAPI"
          },
          {
            "$ref": "#/components/schemas/ComputedContentDependencyTranslation"
          }
        ]
      },
      "ComputedContentSourceIntegration": {
        "type": "object",
        "description": "Parameters for a computed content managed by an integration",
        "properties": {
          "type": {
            "type": "string",
            "description": "Type of the computed source",
            "pattern": "^integration:[^:]+:[^:]+$",
            "x-typescript": "`integration:${string}:${string}`"
          },
          "props": {
            "description": "Properties to be passed to the computation",
            "$ref": "#/components/schemas/PlainObject"
          },
          "dependencies": {
            "type": "object",
            "description": "Dependencies the computation depends on.\nThe state of the dependencies will be passed to the computation.\nWhen the dependency's targets are updated, the computation will be updated.\n",
            "additionalProperties": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/ComputedContentDependency"
                },
                {
                  "$ref": "#/components/schemas/ComputedContentDependencyResolved"
                }
              ]
            }
          }
        },
        "required": [
          "type",
          "props"
        ]
      },
      "ComputedContentSourceRevision": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ComputedContentSourceRevisionOpenAPI"
          },
          {
            "$ref": "#/components/schemas/ComputedContentSourceRevisionTranslation"
          },
          {
            "$ref": "#/components/schemas/ComputedContentSourceIntegration"
          }
        ]
      },
      "RevisionPageComputed": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionPageBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "computed"
                ]
              },
              "computed": {
                "$ref": "#/components/schemas/ComputedContentSourceRevision"
              }
            },
            "required": [
              "type",
              "computed"
            ]
          }
        ]
      },
      "GitSyncBlob": {
        "type": "object",
        "properties": {
          "oid": {
            "type": "string",
            "description": "SHA for the blob"
          },
          "path": {
            "type": "string",
            "description": "Path of the blob in the Git tree"
          }
        },
        "required": [
          "oid",
          "path"
        ]
      },
      "RevisionPageLayoutOptionsWidth": {
        "type": "string",
        "description": "Width of the page.",
        "enum": [
          "default",
          "wide"
        ]
      },
      "RevisionPageLayoutOptionsCoverSize": {
        "type": "string",
        "description": "Size of the cover image.",
        "enum": [
          "hero",
          "full"
        ]
      },
      "RevisionPageLayoutOptions": {
        "type": "object",
        "properties": {
          "width": {
            "$ref": "#/components/schemas/RevisionPageLayoutOptionsWidth"
          },
          "cover": {
            "type": "boolean",
            "description": "Should the cover be visible?"
          },
          "coverSize": {
            "$ref": "#/components/schemas/RevisionPageLayoutOptionsCoverSize"
          },
          "title": {
            "type": "boolean",
            "description": "Should the title be visible?"
          },
          "description": {
            "type": "boolean",
            "description": "Should the description be visible?"
          },
          "tableOfContents": {
            "type": "boolean",
            "description": "Should the table of contents be visible?"
          },
          "outline": {
            "type": "boolean",
            "description": "Should the outline be visible?"
          },
          "pagination": {
            "type": "boolean",
            "description": "Should the pagination be visible?"
          },
          "metadata": {
            "type": "boolean",
            "description": "Should the page metadata (last modified, author, etc.) be visible?"
          },
          "tags": {
            "type": "boolean",
            "description": "Should the tags be visible on the page?"
          }
        },
        "required": [
          "width",
          "cover",
          "coverSize",
          "title",
          "description",
          "tableOfContents",
          "outline",
          "pagination",
          "metadata",
          "tags"
        ]
      },
      "RevisionPageDocumentCover": {
        "type": "object",
        "properties": {
          "ref": {
            "description": "Content reference pointing to the source image.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentRefFile"
              },
              {
                "$ref": "#/components/schemas/ContentRefURL"
              }
            ]
          },
          "refDark": {
            "description": "Content reference pointing to the source image for dark mode.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentRefFile"
              },
              {
                "$ref": "#/components/schemas/ContentRefURL"
              }
            ]
          },
          "yPos": {
            "description": "Vertical position of the cover image.",
            "type": "number",
            "default": 0
          },
          "height": {
            "description": "Height of the cover image in pixels.",
            "type": "number",
            "minimum": 10,
            "maximum": 700,
            "default": 240
          }
        },
        "required": [
          "yPos"
        ]
      },
      "VariableValue": {
        "oneOf": [
          {
            "type": "string",
            "maxLength": 256
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "Variables": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/components/schemas/VariableValue"
        }
      },
      "RevisionPageMetaLinkTarget": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentRefPage"
          },
          {
            "$ref": "#/components/schemas/ContentRefURL"
          }
        ]
      },
      "RevisionPageMetaLinks": {
        "type": "object",
        "properties": {
          "canonical": {
            "$ref": "#/components/schemas/RevisionPageMetaLinkTarget"
          },
          "alternates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RevisionPageMetaLinkTarget"
            }
          }
        }
      },
      "RevisionPageTag": {
        "type": "object",
        "description": "A reference to a tag with optional primary flag for page-level tags.",
        "properties": {
          "tag": {
            "$ref": "#/components/schemas/ContentRefTag"
          },
          "primary": {
            "type": "boolean",
            "description": "Whether this is the primary tag for display in table of contents."
          }
        },
        "required": [
          "tag"
        ]
      },
      "ComputedContentSourceDocumentOpenAPI": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ComputedContentSourceOpenAPIBase"
          },
          {
            "type": "object",
            "description": "Parameters for an OpenAPI computed document",
            "required": [
              "props"
            ],
            "properties": {
              "props": {
                "oneOf": [
                  {
                    "type": "object",
                    "required": [
                      "doc"
                    ],
                    "properties": {
                      "doc": {
                        "type": "string",
                        "enum": [
                          "models"
                        ]
                      }
                    }
                  },
                  {
                    "type": "object",
                    "required": [
                      "doc",
                      "page"
                    ],
                    "properties": {
                      "doc": {
                        "type": "string",
                        "enum": [
                          "operations",
                          "info"
                        ]
                      },
                      "page": {
                        "type": "string",
                        "minLength": 1
                      }
                    }
                  }
                ]
              }
            }
          }
        ]
      },
      "ComputedContentSourceDocumentTranslation": {
        "type": "object",
        "description": "Parameters for a document translation computed content source",
        "required": [
          "type",
          "props"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "builtin:translation"
            ]
          },
          "props": {
            "type": "object",
            "required": [
              "space",
              "document"
            ],
            "properties": {
              "space": {
                "type": "string"
              },
              "document": {
                "type": "string"
              }
            }
          }
        }
      },
      "ComputedContentSourceDocument": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ComputedContentSourceDocumentOpenAPI"
          },
          {
            "$ref": "#/components/schemas/ComputedContentSourceDocumentTranslation"
          },
          {
            "$ref": "#/components/schemas/ComputedContentSourceIntegration"
          }
        ]
      },
      "RevisionPageGroup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionPageBase"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "deprecated": true,
                "enum": [
                  "group"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "group"
                ]
              },
              "slug": {
                "description": "Page's slug in its direct parent",
                "type": "string"
              },
              "path": {
                "description": "Complete path to access the page in the revision.",
                "type": "string"
              },
              "hidden": {
                "type": "boolean",
                "description": "If true, the page is not displayed in the navigation, while still being accessible.",
                "default": false
              },
              "noIndex": {
                "type": "boolean",
                "description": "If true, the page is not indexable in the search and ask features.",
                "default": false
              },
              "noRobotsIndex": {
                "type": "boolean",
                "description": "If true, the page is not indexable by search engine robots.",
                "default": false
              },
              "pages": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/RevisionPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageLink"
                    },
                    {
                      "$ref": "#/components/schemas/RevisionPageComputed"
                    }
                  ]
                }
              }
            },
            "required": [
              "kind",
              "type",
              "slug",
              "path",
              "pages"
            ]
          }
        ]
      },
      "RevisionPage": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RevisionPageDocument"
          },
          {
            "$ref": "#/components/schemas/RevisionPageGroup"
          },
          {
            "$ref": "#/components/schemas/RevisionPageLink"
          },
          {
            "$ref": "#/components/schemas/RevisionPageComputed"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "RevisionFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "downloadURL": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "dimensions": {
            "type": "object",
            "description": "For images, it contains the dimensions of it.",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ]
          },
          "git": {
            "$ref": "#/components/schemas/GitSyncBlob"
          }
        },
        "required": [
          "id",
          "name",
          "contentType",
          "downloadURL",
          "size"
        ]
      },
      "RevisionReusableContent": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "git": {
                "$ref": "#/components/schemas/GitSyncBlob"
              }
            },
            "required": [
              "id",
              "title"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "description": "Defined when the reusable content was generated by a computed content.",
                "properties": {
                  "computed": {
                    "$ref": "#/components/schemas/ComputedContentSourceDocument"
                  },
                  "computedSeed": {
                    "type": "string",
                    "description": "Seed to use for the generation of IDs."
                  }
                },
                "required": [
                  "computed",
                  "computedSeed"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "document": {
                    "type": "string",
                    "description": "ID of the document with the content body. If undefined, the reusable content is empty."
                  }
                }
              }
            ]
          }
        ]
      },
      "RevisionTag": {
        "allOf": [
          {
            "type": "object",
            "description": "A reusable tag that different types of content can be associated to (e.g. pages, update entries)",
            "properties": {
              "slug": {
                "type": "string",
                "description": "The slug identifier for the tag, immutable after creation."
              },
              "label": {
                "type": "string",
                "description": "Display label for the tag. Can be renamed and differ from the slug."
              },
              "color": {
                "$ref": "#/components/schemas/DocumentTextColor"
              }
            },
            "required": [
              "slug",
              "label",
              "color"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "emoji": {
                    "$ref": "#/components/schemas/Emoji"
                  }
                },
                "required": [
                  "emoji"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "icon": {
                    "$ref": "#/components/schemas/Icon"
                  }
                }
              }
            ]
          }
        ]
      },
      "GitSyncCommit": {
        "type": "object",
        "properties": {
          "oid": {
            "type": "string",
            "description": "SHA for the commit"
          },
          "message": {
            "type": "string",
            "description": "Message describing the purpose of the commit"
          },
          "createdByGitBook": {
            "type": "boolean",
            "description": "If true, the Git commit was generated by an export from GitBook"
          },
          "url": {
            "type": "string",
            "description": "URL of the commit in the GitSync provider"
          },
          "ref": {
            "type": "string",
            "description": "Original name of the ref where the commit originated from"
          }
        },
        "required": [
          "oid",
          "message",
          "createdByGitBook"
        ]
      },
      "RevisionBase": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"revision\"",
            "enum": [
              "revision"
            ]
          },
          "id": {
            "description": "Unique identifier for the revision",
            "type": "string"
          },
          "parents": {
            "description": "IDs of the parent revisions",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RevisionPage"
            }
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RevisionFile"
            }
          },
          "reusableContents": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RevisionReusableContent"
            }
          },
          "tags": {
            "type": "array",
            "description": "List of available tags within this revision",
            "items": {
              "$ref": "#/components/schemas/RevisionTag"
            }
          },
          "variables": {
            "$ref": "#/components/schemas/Variables"
          },
          "createdAt": {
            "description": "When the revision was created.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "git": {
            "description": "Metadata about a potential associated git commit.",
            "$ref": "#/components/schemas/GitSyncCommit"
          },
          "urls": {
            "type": "object",
            "properties": {
              "app": {
                "type": "string",
                "format": "uri",
                "description": "URL in the application for the revision"
              },
              "published": {
                "type": "string",
                "description": "URL of the published version of the revision. Only defined when the space visibility is not \"private.\"",
                "format": "uri"
              },
              "public": {
                "type": "string",
                "description": "URL of the public version of the revision. Only defined when the space visibility is \"public\".",
                "format": "uri"
              }
            },
            "required": [
              "app"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "parents",
          "pages",
          "files",
          "reusableContents",
          "tags",
          "urls",
          "createdAt"
        ]
      },
      "RevisionTypeEdits": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Revision created by editing the content.",
                "enum": [
                  "edits"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "ChangeRequestStatus": {
        "type": "string",
        "enum": [
          "draft",
          "open",
          "archived",
          "merged"
        ]
      },
      "ChangeRequestSubject": {
        "type": "string",
        "description": "Subject of the change request",
        "minLength": 0,
        "maxLength": 100
      },
      "ChangeRequest": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"change-request\"",
            "enum": [
              "change-request"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the change request"
          },
          "number": {
            "type": "number",
            "description": "Incremental identifier of the change request"
          },
          "status": {
            "$ref": "#/components/schemas/ChangeRequestStatus"
          },
          "subject": {
            "$ref": "#/components/schemas/ChangeRequestSubject"
          },
          "description": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "createdBy": {
            "$ref": "#/components/schemas/User"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "space": {
            "type": "string",
            "description": "ID of the space in which the change request was created."
          },
          "revision": {
            "type": "string",
            "description": "ID of the active revision in the change request."
          },
          "revisionInitial": {
            "type": "string",
            "description": "ID of the initial revision in the space from which the change request was created."
          },
          "revisionMergedAncestor": {
            "type": "string",
            "description": "ID of the latest revision when updating from main space content."
          },
          "revisionMerged": {
            "type": "string",
            "description": "When merged, ID of the revision resulting from the merge."
          },
          "comments": {
            "type": "number",
            "description": "Count of opened comments on the change request."
          },
          "outdated": {
            "type": "boolean",
            "description": "If true, the change request is not up-to-date with latest changes in the main content."
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "app": {
                "type": "string",
                "description": "URL of the space in the application",
                "format": "uri"
              },
              "location": {
                "type": "string",
                "description": "URL of the user in the API",
                "format": "uri"
              }
            },
            "required": [
              "app",
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "number",
          "status",
          "subject",
          "createdBy",
          "createdAt",
          "updatedAt",
          "space",
          "revision",
          "revisionInitial",
          "comments",
          "outdated",
          "urls"
        ]
      },
      "RevisionTypeMerge": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Revision created when merging a change request with primary.",
                "enum": [
                  "merge"
                ]
              },
              "mergedFrom": {
                "$ref": "#/components/schemas/ChangeRequest"
              }
            },
            "required": [
              "type",
              "mergedFrom"
            ]
          }
        ]
      },
      "RevisionTypeRollback": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Revision created as a rollback of a previous revision.",
                "enum": [
                  "rollback"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "RevisionTypeUpdate": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Revision created when updating a change request with changes from primary.",
                "enum": [
                  "update"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "RevisionTypeComputed": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RevisionBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "description": "Virtual revision, computed from a source revision",
                "enum": [
                  "computed"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "Revision": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RevisionTypeEdits"
          },
          {
            "$ref": "#/components/schemas/RevisionTypeMerge"
          },
          {
            "$ref": "#/components/schemas/RevisionTypeRollback"
          },
          {
            "$ref": "#/components/schemas/RevisionTypeUpdate"
          },
          {
            "$ref": "#/components/schemas/RevisionTypeComputed"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "SpaceTemplateParams": {
        "type": "object",
        "description": "Parameters for a space template",
        "properties": {
          "contentRefs": {
            "type": "object",
            "additionalProperties": {
              "type": "object",
              "$ref": "#/components/schemas/ContentRef"
            }
          }
        }
      },
      "ApplySpaceTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The ID of the template to use for the space"
          },
          "params": {
            "$ref": "#/components/schemas/SpaceTemplateParams"
          }
        },
        "required": [
          "id"
        ]
      },
      "OrganizationTitle": {
        "type": "string",
        "description": "Name of the organization",
        "minLength": 2,
        "maxLength": 255,
        "pattern": "\\S.*\\S"
      },
      "OrganizationEmailDomains": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "OrganizationHostname": {
        "type": "string",
        "description": "Default hostname for the organization's public content, e.g. <org-hostname>.gitbook.io",
        "minLength": 3,
        "maxLength": 32
      },
      "OrganizationType": {
        "type": "string",
        "enum": [
          "business",
          "community"
        ]
      },
      "OrganizationUseCase": {
        "type": "string",
        "enum": [
          "internalDocs",
          "docsSite",
          "audienceControlledSite",
          "productDocs",
          "teamKnowledgeBase",
          "designSystem",
          "openSourceDocs",
          "notes",
          "other"
        ]
      },
      "OrganizationCommunityType": {
        "type": "string",
        "enum": [
          "nonProfit",
          "openSource",
          "education"
        ]
      },
      "SitePointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "site"
            ]
          },
          "site": {
            "type": "string",
            "description": "Unique identifier for the site"
          }
        },
        "required": [
          "type",
          "site"
        ]
      },
      "OrganizationDefaultContent": {
        "description": "The default content for the organization",
        "oneOf": [
          {
            "$ref": "#/components/schemas/SitePointer"
          }
        ]
      },
      "BillingProduct": {
        "type": "string",
        "description": "Name of the product",
        "enum": [
          "free_2024",
          "plus_2024",
          "pro_2024",
          "enterprise_2024",
          "community_2024",
          "free",
          "plus",
          "pro",
          "internal"
        ]
      },
      "BillingInterval": {
        "type": "string",
        "description": "Interval for a billing subscription",
        "enum": [
          "monthly",
          "yearly"
        ]
      },
      "OrganizationPricePair": {
        "type": "object",
        "description": "Pricing pair for monthly and yearly intervals",
        "properties": {
          "monthly": {
            "type": "number",
            "description": "Monthly price in USD",
            "minimum": 0
          },
          "yearly": {
            "type": "number",
            "description": "Yearly price in USD (per month)",
            "minimum": 0
          }
        },
        "required": [
          "monthly",
          "yearly"
        ]
      },
      "OrganizationPricing": {
        "type": "object",
        "description": "Pricing information for an organization",
        "properties": {
          "members": {
            "type": "object",
            "description": "Pricing for members (organization plan)",
            "properties": {
              "plus_2024": {
                "$ref": "#/components/schemas/OrganizationPricePair"
              },
              "pro_2024": {
                "$ref": "#/components/schemas/OrganizationPricePair"
              }
            },
            "required": [
              "plus_2024",
              "pro_2024"
            ],
            "additionalProperties": false
          },
          "sites": {
            "type": "object",
            "description": "Pricing for site types (site plans)",
            "properties": {
              "premium": {
                "$ref": "#/components/schemas/OrganizationPricePair"
              },
              "ultimate": {
                "$ref": "#/components/schemas/OrganizationPricePair"
              }
            },
            "required": [
              "premium",
              "ultimate"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "members",
          "sites"
        ]
      },
      "BillingMeterAddon": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ]
      },
      "OrganizationBilling": {
        "type": "object",
        "properties": {
          "interval": {
            "$ref": "#/components/schemas/BillingInterval"
          },
          "endDate": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Timestamp"
              },
              {
                "type": "null"
              }
            ]
          },
          "hasPaymentFailed": {
            "description": "If true, we were unable to collect the last payment",
            "type": "boolean"
          },
          "canCheckout": {
            "description": "If true, organization can create a checkout session to subscribe/update billing. \nIf false, organization must resolve other billing issues before a checkout can be done.\n",
            "type": "boolean"
          },
          "isScheduledToCancel": {
            "description": "If true, the billing is set to cancel at the end of its current period",
            "type": "boolean"
          },
          "pricing": {
            "description": "Pricing information for the organization",
            "$ref": "#/components/schemas/OrganizationPricing"
          },
          "usageAddons": {
            "description": "Configuration for the usage-based addons",
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/BillingMeterAddon"
            }
          },
          "minUsers": {
            "description": "The minimum number of members allowed for this organization.",
            "type": "number"
          },
          "maxUsers": {
            "description": "The maximum number of members allowed for this organization",
            "type": "number"
          },
          "minPremiumSites": {
            "description": "The minimum number of premium sites allowed for this organization.",
            "type": "number"
          },
          "maxPremiumSites": {
            "description": "The maximum number of premium sites allowed for this organization.",
            "type": "number"
          },
          "minUltimateSites": {
            "description": "The minimum number of ultimate sites allowed for this organization.",
            "type": "number"
          },
          "maxUltimateSites": {
            "description": "The maximum number of ultimate sites allowed for this organization.",
            "type": "number"
          },
          "paidMembers": {
            "description": "The number of paid members on the current subscription.",
            "type": "number"
          },
          "paidPremiumSites": {
            "description": "The number of paid premium sites on the current subscription.",
            "type": "number"
          },
          "paidUltimateSites": {
            "description": "The number of paid ultimate sites on the current subscription.",
            "type": "number"
          }
        },
        "required": [
          "interval",
          "endDate",
          "hasPaymentFailed",
          "canCheckout",
          "isScheduledToCancel",
          "pricing",
          "usageAddons"
        ]
      },
      "BillingTrialStatus": {
        "type": "string",
        "description": "- notapplicable, no trial can be started for this organization. - none, no trial has been started yet. - active, trial is active. - ended, the trial has ended and the user has choosen to stay on the free plan or has upgraded to a paid plan. - expired, the trial has ended but the user hasn't deciced yet what to do.\n",
        "enum": [
          "notapplicable",
          "none",
          "active",
          "ended",
          "expired"
        ]
      },
      "BlockSource": {
        "type": "string",
        "description": "Source for an organization block",
        "enum": [
          "backoffice",
          "external",
          "internal"
        ]
      },
      "BlockReason": {
        "type": "string",
        "description": "A short description giving context on the reason for the block.",
        "minLength": 1,
        "maxLength": 255
      },
      "Organization": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"organization\"",
            "enum": [
              "organization"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the organization"
          },
          "title": {
            "$ref": "#/components/schemas/OrganizationTitle"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "emailDomains": {
            "$ref": "#/components/schemas/OrganizationEmailDomains"
          },
          "hostname": {
            "$ref": "#/components/schemas/OrganizationHostname"
          },
          "type": {
            "$ref": "#/components/schemas/OrganizationType"
          },
          "useCase": {
            "$ref": "#/components/schemas/OrganizationUseCase"
          },
          "communityType": {
            "$ref": "#/components/schemas/OrganizationCommunityType"
          },
          "defaultRole": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "defaultContent": {
            "$ref": "#/components/schemas/OrganizationDefaultContent"
          },
          "sso": {
            "description": "Whether SSO is enforced organization-wide",
            "type": "boolean"
          },
          "ai": {
            "description": "If true, the organization is configured to use all our AI features.",
            "type": "boolean"
          },
          "inviteLinks": {
            "description": "If true, invite links are enabled for this organization.",
            "type": "boolean"
          },
          "plan": {
            "$ref": "#/components/schemas/BillingProduct"
          },
          "billing": {
            "description": "Billing details, only available for org members.",
            "$ref": "#/components/schemas/OrganizationBilling"
          },
          "mergeRules": {
            "$ref": "#/components/schemas/MergeRulesStandaloneConfiguration"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the organization in the API",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the organization in the application",
                "format": "uri"
              },
              "logo": {
                "description": "URL of the logo of this organization, if defined.",
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "app",
              "location"
            ]
          },
          "trial": {
            "type": "object",
            "properties": {
              "status": {
                "$ref": "#/components/schemas/BillingTrialStatus"
              },
              "count": {
                "type": "integer",
                "description": "Number of trials the organization has consumed."
              },
              "endDate": {
                "description": "The trial's end date, if the organization has or had a trial.",
                "$ref": "#/components/schemas/Timestamp"
              },
              "decision": {
                "type": "string",
                "description": "The decision taken by the user at the end of the trial",
                "enum": [
                  "downgrade"
                ]
              }
            },
            "required": [
              "status",
              "count"
            ]
          },
          "customHostname": {
            "description": "Custom hostname linked to this organization",
            "type": "string"
          },
          "blocked": {
            "type": "object",
            "description": "If the organization is blocked, information about the block will appear here",
            "properties": {
              "source": {
                "$ref": "#/components/schemas/BlockSource"
              },
              "reason": {
                "$ref": "#/components/schemas/BlockReason"
              }
            },
            "required": [
              "reason"
            ]
          },
          "internal_billingMigration": {
            "type": "object",
            "properties": {
              "deadline": {
                "description": "When we will upgrade the organization onto new pricing, if they haven't already.",
                "$ref": "#/components/schemas/Timestamp"
              },
              "discountPercent": {
                "description": "A discount the organization may have received thanks to migrating early.",
                "type": "number"
              },
              "discountEndDate": {
                "description": "The expiration date of the discount, after wich regular pricing resumes.",
                "$ref": "#/components/schemas/Timestamp"
              }
            }
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the organization",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the organization."
              },
              "access": {
                "type": "boolean",
                "description": "Can the user view the organization in the application."
              },
              "admin": {
                "type": "boolean",
                "description": "Can the user manage the title, members, etc."
              },
              "ownTeam": {
                "type": "boolean",
                "description": "Is the user a team owner."
              },
              "createContent": {
                "type": "boolean",
                "description": "Can the user create new spaces/collections in the organization."
              },
              "createOpenAPISpec": {
                "type": "boolean",
                "description": "Can the user create new OpenAPI specifications."
              },
              "viewBilling": {
                "type": "boolean",
                "description": "Can the user view the billing details of the organization."
              },
              "listMembers": {
                "type": "boolean",
                "description": "Can the user list the members of the organization."
              },
              "listTeams": {
                "type": "boolean",
                "description": "Can the user list the teams in the organization."
              },
              "listIntegrations": {
                "type": "boolean",
                "description": "Can the user list the integrations in the organization."
              },
              "listInstallations": {
                "type": "boolean",
                "description": "Can the user list the integration installations in the organization."
              },
              "installIntegration": {
                "type": "boolean",
                "description": "Can the user install integrations in the organization."
              }
            },
            "required": [
              "view",
              "access",
              "admin",
              "ownTeam",
              "createContent",
              "createOpenAPISpec",
              "viewBilling",
              "listMembers",
              "listTeams",
              "listIntegrations",
              "listInstallations",
              "installIntegration"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "plan",
          "title",
          "createdAt",
          "inviteLinks",
          "type",
          "emailDomains",
          "mergeRules",
          "urls",
          "trial",
          "permissions"
        ]
      },
      "ContentLocationRevisionContext": {
        "type": "object",
        "required": [
          "type",
          "revision"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "revision"
            ]
          },
          "revision": {
            "$ref": "#/components/schemas/Revision"
          }
        }
      },
      "ContentLocationChangeRequestContext": {
        "type": "object",
        "required": [
          "type",
          "changeRequest"
        ],
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "changeRequest"
            ]
          },
          "changeRequest": {
            "$ref": "#/components/schemas/ChangeRequest"
          }
        }
      },
      "ContentLocationFile": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "file"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "versionContext": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentLocationRevisionContext"
              },
              {
                "$ref": "#/components/schemas/ContentLocationChangeRequestContext"
              }
            ]
          },
          "file": {
            "$ref": "#/components/schemas/RevisionFile"
          }
        },
        "required": [
          "kind",
          "organization",
          "space",
          "file"
        ]
      },
      "ContentLocationURL": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "url"
            ]
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "kind",
          "url"
        ]
      },
      "ContentLocationPageAnchor": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "anchor"
            ]
          },
          "anchor": {
            "description": "The anchor within the page.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "anchor"
        ]
      },
      "ContentLocationPageNode": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "node"
            ]
          },
          "node": {
            "description": "The node id within the page.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "node"
        ]
      },
      "ContentLocationPage": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "page"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "page": {
            "$ref": "#/components/schemas/RevisionPage"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "versionContext": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentLocationRevisionContext"
              },
              {
                "$ref": "#/components/schemas/ContentLocationChangeRequestContext"
              }
            ]
          },
          "internalLocation": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentLocationPageAnchor"
              },
              {
                "$ref": "#/components/schemas/ContentLocationPageNode"
              }
            ]
          }
        },
        "required": [
          "kind",
          "organization",
          "space",
          "page"
        ]
      },
      "ContentLocationUser": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "kind",
          "user"
        ]
      },
      "CollectionTitle": {
        "type": "string",
        "description": "Title of the collection",
        "maxLength": 50
      },
      "CollectionDescription": {
        "type": "string",
        "description": "Description of the collection",
        "minLength": 0,
        "maxLength": 100
      },
      "Collection": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"collection\"",
            "enum": [
              "collection"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the collection"
          },
          "title": {
            "$ref": "#/components/schemas/CollectionTitle"
          },
          "description": {
            "$ref": "#/components/schemas/CollectionDescription"
          },
          "organization": {
            "type": "string",
            "description": "ID of the organization owning this collection"
          },
          "parent": {
            "type": "string",
            "description": "ID of the parent collection, if any"
          },
          "defaultLevel": {
            "$ref": "#/components/schemas/DefaultLevel"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the collection in the API",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the collection in the application",
                "format": "uri"
              }
            },
            "required": [
              "app",
              "location"
            ]
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the collection",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the collection."
              },
              "admin": {
                "type": "boolean",
                "description": "Can the user edit the title/description."
              },
              "viewInviteLinks": {
                "type": "boolean",
                "description": "Can the user view the invite links of the collection."
              },
              "create": {
                "type": "boolean",
                "description": "Can the user create spaces/collections in this collection."
              }
            },
            "required": [
              "view",
              "admin",
              "viewInviteLinks",
              "create"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "organization",
          "urls",
          "defaultLevel",
          "permissions"
        ]
      },
      "ContentLocationCollection": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "collection"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "collection": {
            "$ref": "#/components/schemas/Collection"
          }
        },
        "required": [
          "kind",
          "organization",
          "collection"
        ]
      },
      "ContentLocationSpace": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "space"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "kind",
          "organization",
          "space"
        ]
      },
      "ContentLocationReusableContent": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "reusable-content"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "versionContext": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentLocationRevisionContext"
              },
              {
                "$ref": "#/components/schemas/ContentLocationChangeRequestContext"
              }
            ]
          },
          "reusableContent": {
            "$ref": "#/components/schemas/RevisionReusableContent"
          }
        },
        "required": [
          "kind",
          "organization",
          "space",
          "reusableContent"
        ]
      },
      "OpenAPISpecSlug": {
        "description": "Slug used as reference",
        "type": "string",
        "minLength": 1,
        "maxLength": 100,
        "pattern": "^[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*$"
      },
      "OpenAPISpecProcessingState": {
        "description": "Processing state",
        "enum": [
          "pending",
          "progress",
          "complete"
        ]
      },
      "OpenAPISpecProcessingErrorCode": {
        "description": "OpenAPI processing error code",
        "enum": [
          "FETCH_TIMEOUT",
          "FETCH_ERROR",
          "PARSE_ERROR"
        ]
      },
      "OpenAPIErrorObject": {
        "type": "object",
        "description": "OpenAPI error object.",
        "properties": {
          "message": {
            "type": "string",
            "description": "Description of the error."
          },
          "code": {
            "type": "string",
            "description": "Unique code of the error."
          }
        },
        "required": [
          "message"
        ]
      },
      "OpenAPISpec": {
        "type": "object",
        "properties": {
          "object": {
            "description": "The object type, which is always \"openapi-spec\"",
            "type": "string",
            "enum": [
              "openapi-spec"
            ]
          },
          "id": {
            "description": "Unique identifier",
            "type": "string"
          },
          "createdAt": {
            "description": "Date of creation",
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "description": "Date of the last update",
            "$ref": "#/components/schemas/Timestamp"
          },
          "slug": {
            "$ref": "#/components/schemas/OpenAPISpecSlug"
          },
          "sourceURL": {
            "$ref": "#/components/schemas/URL"
          },
          "processingState": {
            "$ref": "#/components/schemas/OpenAPISpecProcessingState"
          },
          "visibility": {
            "$ref": "#/components/schemas/OpenAPISpecVisibility"
          },
          "lastVersion": {
            "type": "string",
            "description": "ID of the latest version of the OpenAPI specification"
          },
          "lastProcessedAt": {
            "description": "Date of the last processing",
            "$ref": "#/components/schemas/Timestamp"
          },
          "lastProcessErrorCode": {
            "$ref": "#/components/schemas/OpenAPISpecProcessingErrorCode"
          },
          "lastProcessedErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OpenAPIErrorObject"
            }
          },
          "lastProcessedErrorCount": {
            "type": "integer",
            "minimum": 0,
            "description": "Total number of processing errors before truncation of lastProcessedErrors."
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the OpenAPI specification.",
            "required": [
              "view",
              "edit"
            ],
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the specification."
              },
              "edit": {
                "type": "boolean",
                "description": "Can the user edit the specification."
              }
            }
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "description": "URL of the OpenAPI specification in the API",
                "$ref": "#/components/schemas/URL"
              },
              "app": {
                "description": "URL of the OpenAPI specification in the application",
                "$ref": "#/components/schemas/URL"
              },
              "published": {
                "type": "string",
                "description": "URL of the published spec. Only defined when visibility is \"published.\"",
                "format": "uri"
              }
            },
            "required": [
              "app",
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "createdAt",
          "updatedAt",
          "slug",
          "processingState",
          "lastProcessedErrorCount",
          "permissions",
          "urls"
        ]
      },
      "ContentLocationOpenAPI": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "openapi"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "openAPISpec": {
            "$ref": "#/components/schemas/OpenAPISpec"
          }
        },
        "required": [
          "kind",
          "organization",
          "openAPISpec"
        ]
      },
      "ContentLocation": {
        "description": "An absolute reference to content in GitBook.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentLocationFile"
          },
          {
            "$ref": "#/components/schemas/ContentLocationURL"
          },
          {
            "$ref": "#/components/schemas/ContentLocationPage"
          },
          {
            "$ref": "#/components/schemas/ContentLocationUser"
          },
          {
            "$ref": "#/components/schemas/ContentLocationCollection"
          },
          {
            "$ref": "#/components/schemas/ContentLocationSpace"
          },
          {
            "$ref": "#/components/schemas/ContentLocationReusableContent"
          },
          {
            "$ref": "#/components/schemas/ContentLocationOpenAPI"
          }
        ],
        "discriminator": {
          "propertyName": "kind"
        }
      },
      "ContentReferenceStatus": {
        "type": "string",
        "enum": [
          "ok",
          "broken",
          "in-app"
        ],
        "description": "Text to display to represent the reference. Possible values include:\n- `ok` - No problems detected for this content reference.\n- `broken` - The target does not exist in the revision.\n- `in-app` - The target is a URL link pointing to an internal location in the app.\n"
      },
      "ContentReferencesStats": {
        "type": "object",
        "properties": {
          "total": {
            "description": "Total count of links",
            "type": "number"
          },
          "broken": {
            "type": "object",
            "properties": {
              "total": {
                "description": "Count of broken links",
                "type": "number"
              },
              "changeRequest": {
                "description": "Count of broken links that were broken in current change request, if applicable.",
                "type": "number"
              }
            },
            "required": [
              "total"
            ]
          }
        },
        "required": [
          "total",
          "broken"
        ]
      },
      "ContentReferenceRelation": {
        "type": "string",
        "enum": [
          "reference",
          "dependsOn"
        ],
        "description": "Indicator of the relationship with the content ref target.\n- `reference` - The content soft-references the ref target\n- `dependsOn` - The content depends on the ref target\n"
      },
      "ContentReferenceUsage": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/ContentReferenceStatus"
          },
          "relation": {
            "$ref": "#/components/schemas/ContentReferenceRelation"
          },
          "targetReference": {
            "description": "The reference target where a list of pages are pointing at",
            "$ref": "#/components/schemas/ContentLocation"
          },
          "locationReferences": {
            "description": "Pages locations where a link to the target is found.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentLocation"
            }
          }
        },
        "required": [
          "relation",
          "status",
          "locationReferences"
        ]
      },
      "ChangeRequestOrderBy": {
        "type": "string",
        "enum": [
          "updatedAt",
          "createdAt"
        ],
        "default": "updatedAt",
        "description": "The field to sort change requests by. Defaults to 'updatedAt'."
      },
      "ChangeRequestReviewStatus": {
        "type": "string",
        "description": "Status of a change request review.",
        "enum": [
          "changes-requested",
          "approved"
        ]
      },
      "EmojiReaction": {
        "type": "object",
        "description": "An emoji reaction by one or many users",
        "properties": {
          "emoji": {
            "type": "string",
            "description": "The Emoji of the reaction"
          },
          "count": {
            "type": "number",
            "description": "The number of users who reacted with this emoji"
          },
          "users": {
            "type": "array",
            "description": "The users who reacted with this emoji",
            "items": {
              "type": "object",
              "properties": {
                "user": {
                  "$ref": "#/components/schemas/User"
                },
                "reactedAt": {
                  "$ref": "#/components/schemas/Timestamp"
                }
              },
              "required": [
                "user",
                "reactedAt"
              ]
            }
          }
        },
        "required": [
          "emoji",
          "count",
          "users"
        ]
      },
      "EmojiReactions": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/EmojiReaction"
        }
      },
      "UserContributor": {
        "type": "object",
        "description": "Contributor towards content.",
        "properties": {
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "count": {
            "type": "integer"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "updatedAt",
          "count",
          "user"
        ]
      },
      "TableCellTarget": {
        "type": "object",
        "description": "Details about the table cell this comment is attached to, if any.",
        "properties": {
          "record": {
            "type": "string"
          },
          "definition": {
            "type": "string"
          }
        },
        "required": [
          "record",
          "definition"
        ]
      },
      "Comment": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "description": "Type of Object, always equals to \"comment\"",
                "enum": [
                  "comment"
                ]
              },
              "id": {
                "description": "Unique identifier for the comment.",
                "type": "string"
              },
              "postedBy": {
                "description": "The user who posted the comment.",
                "$ref": "#/components/schemas/User"
              },
              "postedAt": {
                "description": "When the comment was posted.",
                "$ref": "#/components/schemas/Timestamp"
              },
              "editedAt": {
                "description": "Date when the comment was edited, if it has been edited.",
                "$ref": "#/components/schemas/Timestamp"
              },
              "reactions": {
                "description": "Any emoji reactions to the comment.",
                "$ref": "#/components/schemas/EmojiReactions"
              },
              "replies": {
                "description": "The number of replies to this comment.",
                "type": "number"
              },
              "repliers": {
                "description": "The users who replied to this comment.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserContributor"
                }
              },
              "body": {
                "description": "The content of the comment.",
                "$ref": "#/components/schemas/Document"
              },
              "target": {
                "description": "Information about the target of the comment.",
                "type": "object",
                "properties": {
                  "node": {
                    "description": "The node this comment is attached to.",
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  },
                  "tableCell": {
                    "$ref": "#/components/schemas/TableCellTarget"
                  },
                  "changeRequest": {
                    "description": "The change request containing this comment, if the comment was made inside a change request.",
                    "type": "string"
                  },
                  "review": {
                    "description": "The review containing this comment, if this comment was made as part of a review.",
                    "type": "string"
                  },
                  "page": {
                    "description": "Information about the page, if this comment refers to a specific page.",
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "The ID of the page"
                      }
                    },
                    "required": [
                      "id"
                    ]
                  },
                  "space": {
                    "description": "The space containing this comment.",
                    "type": "string"
                  },
                  "revision": {
                    "description": "The revision in which the target can be found in.",
                    "type": "string"
                  }
                },
                "required": [
                  "space",
                  "revision"
                ]
              },
              "urls": {
                "type": "object",
                "description": "URLs associated with the object",
                "properties": {
                  "location": {
                    "type": "string",
                    "description": "URL of the comment in the API",
                    "format": "uri"
                  }
                },
                "required": [
                  "location"
                ]
              },
              "permissions": {
                "type": "object",
                "description": "The set of permissions for the comment",
                "properties": {
                  "view": {
                    "type": "boolean",
                    "description": "Can the user view the comment."
                  },
                  "edit": {
                    "type": "boolean",
                    "description": "Can the user edit the comment."
                  },
                  "reply": {
                    "type": "boolean",
                    "description": "Can the user react or send a reply to the comment."
                  },
                  "delete": {
                    "type": "boolean",
                    "description": "Can the user delete the comment."
                  }
                },
                "required": [
                  "view",
                  "edit",
                  "delete"
                ]
              }
            },
            "required": [
              "object",
              "id",
              "replies",
              "repliers",
              "body",
              "postedBy",
              "postedAt",
              "reactions",
              "target",
              "urls",
              "permissions"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "title": "Resolved",
                "properties": {
                  "status": {
                    "description": "Status of the comment.",
                    "type": "string",
                    "enum": [
                      "resolved"
                    ]
                  },
                  "resolvedAt": {
                    "description": "If the comment has been resolved, the date at which it was resolved. If this field is not defined, the comment is not resolved.",
                    "$ref": "#/components/schemas/Timestamp"
                  },
                  "resolvedBy": {
                    "description": "If the comment has been resolved, the user who resolved it. If this field is not defined, the comment is not resolved.",
                    "$ref": "#/components/schemas/User"
                  }
                },
                "required": [
                  "status",
                  "resolvedAt",
                  "resolvedBy"
                ]
              },
              {
                "type": "object",
                "title": "Open",
                "properties": {
                  "status": {
                    "description": "Status of the comment.",
                    "type": "string",
                    "enum": [
                      "open"
                    ]
                  }
                },
                "required": [
                  "status"
                ]
              }
            ]
          }
        ]
      },
      "ChangeRequestReview": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"change-request-review\"",
            "enum": [
              "change-request-review"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the review."
          },
          "revision": {
            "type": "string",
            "description": "The revision this review was made against."
          },
          "reviewer": {
            "description": "The user who performed the review.",
            "$ref": "#/components/schemas/User"
          },
          "requestedBy": {
            "description": "The user who requested the review. If undefined, the review was left without a request.",
            "$ref": "#/components/schemas/User"
          },
          "status": {
            "description": "The status of the review.",
            "$ref": "#/components/schemas/ChangeRequestReviewStatus"
          },
          "outdated": {
            "type": "boolean",
            "description": "Whether this review has been superseded by a newer review request or submission."
          },
          "comment": {
            "$ref": "#/components/schemas/Comment"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the review in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "revision",
          "reviewer",
          "status",
          "outdated",
          "createdAt",
          "updatedAt",
          "urls"
        ]
      },
      "Team": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"team\"",
            "enum": [
              "team"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the team"
          }
        },
        "required": [
          "object",
          "id"
        ]
      },
      "ChangeRequestRequestedReviewer": {
        "type": "object",
        "allOf": [
          {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "description": "Type of Object, always equals to \"change-request-requested-reviewer\"",
                "enum": [
                  "change-request-requested-reviewer"
                ]
              },
              "revision": {
                "type": "string",
                "description": "The revision of the content when the request was made."
              },
              "requestedBy": {
                "description": "The user who made the request.",
                "$ref": "#/components/schemas/User"
              },
              "createdAt": {
                "$ref": "#/components/schemas/Timestamp"
              }
            },
            "required": [
              "object",
              "revision",
              "requestedBy",
              "createdAt"
            ]
          },
          {
            "type": "object",
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user"
                    ]
                  },
                  "user": {
                    "description": "The user who was requested to review.",
                    "$ref": "#/components/schemas/User"
                  }
                },
                "required": [
                  "kind",
                  "user"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "string",
                    "enum": [
                      "team"
                    ]
                  },
                  "team": {
                    "description": "The team who was requested to review.",
                    "$ref": "#/components/schemas/Team"
                  }
                },
                "required": [
                  "kind",
                  "team"
                ]
              }
            ]
          }
        ]
      },
      "PostCommentSchema": {
        "type": "object",
        "properties": {
          "node": {
            "description": "The node to which the comment is posted, if any.",
            "type": "string"
          },
          "page": {
            "description": "The page to which the comment is posted, if any.",
            "type": "string"
          },
          "body": {
            "description": "The content of the comment.",
            "$ref": "#/components/schemas/Document"
          },
          "tableCell": {
            "$ref": "#/components/schemas/TableCellTarget"
          }
        },
        "required": [
          "body"
        ]
      },
      "UpdateCommentSchema": {
        "type": "object",
        "properties": {
          "resolved": {
            "type": "boolean",
            "description": "Whether the comment is resolved or not."
          },
          "body": {
            "description": "Content of the comment.",
            "$ref": "#/components/schemas/Document"
          },
          "addedReactions": {
            "type": "array",
            "description": "Reactions to add to the comment.",
            "items": {
              "type": "string"
            }
          },
          "removedReactions": {
            "type": "array",
            "description": "Reactions to remove from the comment.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CommentReply": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"comment-reply\"",
            "enum": [
              "comment-reply"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the reply."
          },
          "postedBy": {
            "$ref": "#/components/schemas/User"
          },
          "postedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "editedAt": {
            "description": "Date when the reply was edited, if it has been edited.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "reactions": {
            "$ref": "#/components/schemas/EmojiReactions"
          },
          "body": {
            "$ref": "#/components/schemas/Document"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the comment reply in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the comment reply",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the comment reply."
              },
              "edit": {
                "type": "boolean",
                "description": "Can the user edit the comment reply."
              },
              "reply": {
                "type": "boolean",
                "description": "Can the user react or reply to the comment reply."
              },
              "delete": {
                "type": "boolean",
                "description": "Can the user delete the comment reply."
              }
            },
            "required": [
              "view",
              "edit",
              "delete"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "body",
          "postedBy",
          "postedAt",
          "reactions",
          "urls",
          "permissions"
        ]
      },
      "PostCommentReplySchema": {
        "type": "object",
        "properties": {
          "body": {
            "description": "The content of the comment.",
            "$ref": "#/components/schemas/Document"
          }
        },
        "required": [
          "body"
        ]
      },
      "ChangeRequestUserContributor": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UserContributor"
          },
          {
            "type": "object",
            "properties": {
              "actionType": {
                "type": "string",
                "enum": [
                  "edit",
                  "comment"
                ]
              }
            },
            "required": [
              "actionType"
            ]
          }
        ]
      },
      "RevisionPageType": {
        "type": "string",
        "enum": [
          "document",
          "group",
          "link",
          "computed"
        ]
      },
      "ChangedRevisionPage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/RevisionPageType"
          },
          "title": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "type",
          "title"
        ]
      },
      "RevisionSemanticChangePageCreated": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_created"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "type",
          "page"
        ]
      },
      "ChangeAttributeString": {
        "type": "object",
        "properties": {
          "before": {
            "type": "string"
          },
          "after": {
            "type": "string"
          }
        }
      },
      "ChangeAttributeRevisionPageDocumentCover": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/RevisionPageDocumentCover"
          },
          "after": {
            "$ref": "#/components/schemas/RevisionPageDocumentCover"
          }
        }
      },
      "RevisionPageLayoutPreset": {
        "type": "string",
        "description": "The core layout presets for a page.",
        "enum": [
          "docs",
          "editorial",
          "landing"
        ]
      },
      "RevisionPageLayout": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RevisionPageLayoutPreset"
          },
          {
            "$ref": "#/components/schemas/RevisionPageLayoutOptions"
          }
        ]
      },
      "ChangeAttributeRevisionPageLayout": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/RevisionPageLayout"
          },
          "after": {
            "$ref": "#/components/schemas/RevisionPageLayout"
          }
        }
      },
      "ChangeAttributeVariables": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/Variables"
          },
          "after": {
            "$ref": "#/components/schemas/Variables"
          }
        }
      },
      "RevisionPageDocumentChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "title": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "description": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "slug": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "document": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "cover": {
            "$ref": "#/components/schemas/ChangeAttributeRevisionPageDocumentCover"
          },
          "emoji": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "layout": {
            "$ref": "#/components/schemas/ChangeAttributeRevisionPageLayout"
          },
          "variables": {
            "$ref": "#/components/schemas/ChangeAttributeVariables"
          }
        }
      },
      "RevisionPageGroupChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "title": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "emoji": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "slug": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          }
        }
      },
      "ChangeAttributeContentReference": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/ContentRef"
          },
          "after": {
            "$ref": "#/components/schemas/ContentRef"
          }
        }
      },
      "RevisionPageLinkChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "title": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "emoji": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "target": {
            "$ref": "#/components/schemas/ChangeAttributeContentReference"
          }
        }
      },
      "RevisionSemanticChangePageEdited": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_edited"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "attributes": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/RevisionPageDocumentChangeAttributes"
              },
              {
                "$ref": "#/components/schemas/RevisionPageGroupChangeAttributes"
              },
              {
                "$ref": "#/components/schemas/RevisionPageLinkChangeAttributes"
              }
            ]
          }
        },
        "required": [
          "type",
          "page",
          "attributes"
        ]
      },
      "RevisionSemanticChangePageDeleted": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_deleted"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "type",
          "page"
        ]
      },
      "RevisionSemanticChangePageMoved": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page_moved"
            ]
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "parent": {
            "type": "object",
            "properties": {
              "before": {
                "$ref": "#/components/schemas/ChangedRevisionPage"
              },
              "after": {
                "$ref": "#/components/schemas/ChangedRevisionPage"
              }
            }
          }
        },
        "required": [
          "type",
          "page",
          "parent"
        ]
      },
      "ChangedRevisionFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "downloadURL": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "contentType",
          "downloadURL"
        ]
      },
      "RevisionSemanticChangeFileCreated": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file_created"
            ]
          },
          "file": {
            "$ref": "#/components/schemas/ChangedRevisionFile"
          }
        },
        "required": [
          "type",
          "file"
        ]
      },
      "ChangeAttributeNumber": {
        "type": "object",
        "properties": {
          "before": {
            "type": "number"
          },
          "after": {
            "type": "number"
          }
        }
      },
      "RevisionFileImageDimensions": {
        "type": "object",
        "properties": {
          "height": {
            "type": "number"
          },
          "width": {
            "type": "number"
          }
        },
        "required": [
          "height",
          "width"
        ]
      },
      "ChangeAttributeRevisionFileImageDimensions": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/RevisionFileImageDimensions"
          },
          "after": {
            "$ref": "#/components/schemas/RevisionFileImageDimensions"
          }
        }
      },
      "RevisionFileChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "name": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "downloadURL": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "size": {
            "$ref": "#/components/schemas/ChangeAttributeNumber"
          },
          "contentType": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "dimensions": {
            "$ref": "#/components/schemas/ChangeAttributeRevisionFileImageDimensions"
          }
        }
      },
      "RevisionSemanticChangeFileEdited": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file_edited"
            ]
          },
          "file": {
            "$ref": "#/components/schemas/ChangedRevisionFile"
          },
          "attributes": {
            "$ref": "#/components/schemas/RevisionFileChangeAttributes"
          }
        },
        "required": [
          "type",
          "file",
          "attributes"
        ]
      },
      "RevisionSemanticChangeFileDeleted": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file_deleted"
            ]
          },
          "file": {
            "$ref": "#/components/schemas/ChangedRevisionFile"
          }
        },
        "required": [
          "type",
          "file"
        ]
      },
      "ChangeAttributeVariable": {
        "type": "object",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/VariableValue"
          },
          "after": {
            "$ref": "#/components/schemas/VariableValue"
          }
        }
      },
      "RevisionSemanticChangeVariablesEdited": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "variables_edited"
            ]
          },
          "variables": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ChangeAttributeVariable"
            }
          }
        },
        "required": [
          "type",
          "variables"
        ]
      },
      "ChangedRevisionReusableContent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "document": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "title"
        ]
      },
      "RevisionSemanticChangeReusableContentCreated": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "reusable_content_created"
            ]
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          }
        },
        "required": [
          "type",
          "reusableContent"
        ]
      },
      "RevisionSemanticChangeReusableContentDeleted": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "reusable_content_deleted"
            ]
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          }
        },
        "required": [
          "type",
          "reusableContent"
        ]
      },
      "RevisionReusableContentChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "title": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          },
          "document": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          }
        }
      },
      "RevisionSemanticChangeReusableContentEdited": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "reusable_content_edited"
            ]
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          },
          "attributes": {
            "$ref": "#/components/schemas/RevisionReusableContentChangeAttributes"
          }
        },
        "required": [
          "type",
          "reusableContent",
          "attributes"
        ]
      },
      "ChangedRevisionTag": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "label": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "label"
        ]
      },
      "RevisionSemanticChangeTagCreated": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tag_created"
            ]
          },
          "tag": {
            "$ref": "#/components/schemas/ChangedRevisionTag"
          }
        },
        "required": [
          "type",
          "tag"
        ]
      },
      "RevisionSemanticChangeTagDeleted": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tag_deleted"
            ]
          },
          "tag": {
            "$ref": "#/components/schemas/ChangedRevisionTag"
          }
        },
        "required": [
          "type",
          "tag"
        ]
      },
      "RevisionTagChangeAttributes": {
        "type": "object",
        "minProperties": 1,
        "properties": {
          "label": {
            "$ref": "#/components/schemas/ChangeAttributeString"
          }
        }
      },
      "RevisionSemanticChangeTagEdited": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "tag_edited"
            ]
          },
          "tag": {
            "$ref": "#/components/schemas/ChangedRevisionTag"
          },
          "attributes": {
            "$ref": "#/components/schemas/RevisionTagChangeAttributes"
          }
        },
        "required": [
          "type",
          "tag",
          "attributes"
        ]
      },
      "RevisionSemanticChange": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/RevisionSemanticChangePageCreated"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangePageEdited"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangePageDeleted"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangePageMoved"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeFileCreated"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeFileEdited"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeFileDeleted"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeVariablesEdited"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeReusableContentCreated"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeReusableContentDeleted"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeReusableContentEdited"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeTagCreated"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeTagDeleted"
          },
          {
            "$ref": "#/components/schemas/RevisionSemanticChangeTagEdited"
          }
        ]
      },
      "RevisionSemanticChanges": {
        "type": "object",
        "properties": {
          "mergedFrom": {
            "description": "The change request object that initiated the changes in the case of a merge revision.",
            "$ref": "#/components/schemas/ChangeRequest"
          },
          "changes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RevisionSemanticChange"
            }
          },
          "more": {
            "type": "number",
            "description": "How many changes were omitted because above the result limit"
          }
        },
        "required": [
          "changes"
        ]
      },
      "UpdateCommentReplySchema": {
        "type": "object",
        "properties": {
          "body": {
            "description": "Content of the comment.",
            "$ref": "#/components/schemas/Document"
          },
          "addedReactions": {
            "type": "array",
            "description": "Reactions to add to the comment.",
            "items": {
              "type": "string"
            }
          },
          "removedReactions": {
            "type": "array",
            "description": "Reactions to remove from the comment.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "OrganizationMember": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"member\"",
            "enum": [
              "member"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the user."
          },
          "role": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "disabled": {
            "type": "boolean",
            "description": "Whatever the membership of this user is disabled and prevent them from accessing content."
          },
          "joinedAt": {
            "description": "Date at which the user joined the organization.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "lastSeenAt": {
            "description": "Date at which the user was last seen active in the organization.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "sso": {
            "type": "boolean",
            "description": "Whether the user can login with SSO."
          },
          "spaces": {
            "type": "number"
          },
          "teams": {
            "type": "number"
          }
        },
        "required": [
          "object",
          "id",
          "role",
          "user",
          "disabled",
          "joinedAt",
          "sso",
          "spaces",
          "teams"
        ]
      },
      "IntegrationTitle": {
        "type": "string",
        "description": "Title of the integration",
        "minLength": 2,
        "maxLength": 30
      },
      "IntegrationDescription": {
        "type": "string",
        "description": "Description of the integration",
        "maxLength": 100
      },
      "IntegrationSummary": {
        "type": "string",
        "description": "Long form markdown summary of the integration",
        "maxLength": 2048
      },
      "IntegrationTarget": {
        "type": "string",
        "description": "The target on which the integration can operate and needs to be configured for",
        "enum": [
          "all",
          "site",
          "space",
          "organization"
        ]
      },
      "IntegrationVisibility": {
        "type": "string",
        "enum": [
          "public",
          "private",
          "unlisted"
        ]
      },
      "IntegrationScope": {
        "type": "string",
        "enum": [
          "space:content:read",
          "space:content:write",
          "space:metadata:read",
          "space:metadata:write",
          "space:git:sync",
          "page:feedback:read",
          "site:metadata:read",
          "site:views:read",
          "site:script:inject",
          "site:script:cookies",
          "site:visitor:auth",
          "site:adaptive:read",
          "site:adaptive:write",
          "conversations:ingest",
          "openapi:read",
          "openapi:write"
        ]
      },
      "IntegrationScopes": {
        "type": "array",
        "description": "Permissions that should be granted to the integration",
        "items": {
          "$ref": "#/components/schemas/IntegrationScope"
        }
      },
      "IntegrationCategory": {
        "type": "string",
        "enum": [
          "analytics",
          "collaboration",
          "content",
          "gitsync",
          "marketing",
          "visitor-auth",
          "other"
        ]
      },
      "IntegrationCategories": {
        "type": "array",
        "description": "Categories for which the integration is listed in the marketplace",
        "items": {
          "$ref": "#/components/schemas/IntegrationCategory"
        }
      },
      "IntegrationBlocks": {
        "type": "array",
        "description": "Custom blocks defined by this integration.",
        "items": {
          "$ref": "#/components/schemas/IntegrationBlock"
        }
      },
      "IntegrationConfigurationComponent": {
        "type": "object",
        "description": "ContentKit component for configuration",
        "properties": {
          "componentId": {
            "type": "string",
            "description": "ID of the ContentKit component defined in the integration"
          }
        },
        "required": [
          "componentId"
        ]
      },
      "IntegrationContentSource": {
        "type": "object",
        "description": "Definition of a content source provided by the integration.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID in the integration for the source."
          },
          "title": {
            "type": "string",
            "description": "Short descriptive title for the source.",
            "minLength": 2,
            "maxLength": 40
          },
          "description": {
            "type": "string",
            "description": "Long descriptive text for the source.",
            "minLength": 0,
            "maxLength": 150
          },
          "icon": {
            "type": "string",
            "description": "URL of the icon to represent this source."
          },
          "configuration": {
            "$ref": "#/components/schemas/IntegrationConfigurationComponent"
          }
        },
        "required": [
          "id",
          "title",
          "configuration"
        ]
      },
      "IntegrationPropertyTitle": {
        "type": "string",
        "description": "Property title for an integration configuration property",
        "minLength": 2,
        "maxLength": 50
      },
      "IntegrationConfigurationSchema": {
        "type": "object",
        "description": "Schema for a configuration",
        "properties": {
          "properties": {
            "type": "object",
            "additionalProperties": {
              "allOf": [
                {
                  "type": "object",
                  "properties": {
                    "title": {
                      "$ref": "#/components/schemas/IntegrationPropertyTitle"
                    },
                    "description": {
                      "type": "string",
                      "maxLength": 100
                    }
                  }
                },
                {
                  "oneOf": [
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "string"
                          ]
                        },
                        "default": {
                          "type": "string"
                        },
                        "completion_url": {
                          "description": "If specified, this URL will be called to fetch suggestions for auto-completing the property.",
                          "type": "string"
                        },
                        "enum": {
                          "type": "array",
                          "description": "If specified, only values from this array are allowed as inputs.",
                          "items": {
                            "type": "string"
                          }
                        }
                      },
                      "required": [
                        "type"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "number"
                          ]
                        },
                        "default": {
                          "type": "number"
                        }
                      },
                      "required": [
                        "type"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "boolean"
                          ]
                        },
                        "default": {
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "type"
                      ]
                    },
                    {
                      "type": "object",
                      "properties": {
                        "type": {
                          "type": "string",
                          "enum": [
                            "button"
                          ]
                        },
                        "callback_url": {
                          "type": "string"
                        },
                        "button_text": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "type",
                        "callback_url",
                        "button_text"
                      ]
                    }
                  ]
                }
              ]
            }
          },
          "required": {
            "type": "array",
            "uniqueItems": true,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "properties"
        ]
      },
      "IntegrationConfiguration": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/IntegrationConfigurationSchema"
          },
          {
            "$ref": "#/components/schemas/IntegrationConfigurationComponent"
          }
        ]
      },
      "IntegrationConfigurations": {
        "type": "object",
        "properties": {
          "account": {
            "$ref": "#/components/schemas/IntegrationConfiguration"
          },
          "space": {
            "$ref": "#/components/schemas/IntegrationConfiguration"
          },
          "site": {
            "$ref": "#/components/schemas/IntegrationConfiguration"
          }
        }
      },
      "IntegrationExternalLinks": {
        "type": "array",
        "description": "External urls configured by the developer of the integration",
        "maxItems": 5,
        "items": {
          "type": "object",
          "properties": {
            "url": {
              "$ref": "#/components/schemas/URL"
            },
            "label": {
              "type": "string"
            }
          },
          "required": [
            "url",
            "label"
          ]
        }
      },
      "IntegrationContentSecurityPolicy": {
        "description": "Security policy to validate the content of the integrations scripts and Contentkit. Will be sent as \nheaders when processing the script fetch event and the blocks fetch events.\n",
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "object",
            "properties": {
              "base-uri": {
                "type": "string"
              },
              "block-all-mixed-content": {
                "type": "string"
              },
              "child-src": {
                "type": "string"
              },
              "connect-src": {
                "type": "string"
              },
              "default-src": {
                "type": "string"
              },
              "font-src": {
                "type": "string"
              },
              "form-action": {
                "type": "string"
              },
              "frame-ancestors": {
                "type": "string"
              },
              "frame-src": {
                "type": "string"
              },
              "img-src": {
                "type": "string"
              },
              "manifest-src": {
                "type": "string"
              },
              "media-src": {
                "type": "string"
              },
              "navigate-to": {
                "type": "string"
              },
              "object-src": {
                "type": "string"
              },
              "plugin-types": {
                "type": "string"
              },
              "prefetch-src": {
                "type": "string"
              },
              "referrer": {
                "type": "string"
              },
              "report-to": {
                "type": "string"
              },
              "report-uri": {
                "type": "string"
              },
              "require-sri-for": {
                "type": "string"
              },
              "require-trusted-types-for": {
                "type": "string"
              },
              "sandbox": {
                "type": "string"
              },
              "script-src": {
                "type": "string"
              },
              "script-src-attr": {
                "type": "string"
              },
              "script-src-elem": {
                "type": "string"
              },
              "style-src": {
                "type": "string"
              },
              "style-src-attr": {
                "type": "string"
              },
              "style-src-elem": {
                "type": "string"
              },
              "trusted-types": {
                "type": "string"
              },
              "upgrade-insecure-requests": {
                "type": "string"
              },
              "worker-src": {
                "type": "string"
              }
            }
          }
        ]
      },
      "Integration": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "integration"
            ]
          },
          "name": {
            "type": "string",
            "description": "Unique named identifier for the integration"
          },
          "version": {
            "type": "number",
            "description": "Version of the integration"
          },
          "title": {
            "$ref": "#/components/schemas/IntegrationTitle"
          },
          "description": {
            "$ref": "#/components/schemas/IntegrationDescription"
          },
          "summary": {
            "$ref": "#/components/schemas/IntegrationSummary"
          },
          "previewImages": {
            "type": "array",
            "description": "URLs of images to showcase the integration",
            "maxItems": 3,
            "items": {
              "type": "string"
            }
          },
          "target": {
            "$ref": "#/components/schemas/IntegrationTarget"
          },
          "verified": {
            "type": "boolean",
            "description": "If true, the integration has been verified by the GitBook team"
          },
          "visibility": {
            "$ref": "#/components/schemas/IntegrationVisibility"
          },
          "scopes": {
            "$ref": "#/components/schemas/IntegrationScopes"
          },
          "categories": {
            "$ref": "#/components/schemas/IntegrationCategories"
          },
          "blocks": {
            "$ref": "#/components/schemas/IntegrationBlocks"
          },
          "contentSources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationContentSource"
            }
          },
          "configurations": {
            "$ref": "#/components/schemas/IntegrationConfigurations"
          },
          "externalLinks": {
            "$ref": "#/components/schemas/IntegrationExternalLinks"
          },
          "owner": {
            "$ref": "#/components/schemas/Organization"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the integration in the API",
                "format": "uri"
              },
              "icon": {
                "type": "string",
                "description": "URL of the icon associated to the integration",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the integration in the application",
                "format": "uri"
              },
              "assets": {
                "type": "string",
                "description": "URL of the integration's assets.",
                "format": "uri"
              },
              "publicEndpoint": {
                "type": "string",
                "description": "Public HTTP endpoint for the integration",
                "format": "uri"
              }
            },
            "required": [
              "location",
              "app",
              "assets",
              "publicEndpoint"
            ]
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the integration",
            "properties": {
              "admin": {
                "type": "boolean"
              }
            },
            "required": [
              "admin"
            ]
          },
          "contentSecurityPolicy": {
            "$ref": "#/components/schemas/IntegrationContentSecurityPolicy"
          }
        },
        "required": [
          "object",
          "name",
          "version",
          "title",
          "scopes",
          "categories",
          "visibility",
          "target",
          "verified",
          "previewImages",
          "externalLinks",
          "owner",
          "permissions",
          "urls"
        ]
      },
      "SpaceIntegrationBlocks": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "name",
            "blocks"
          ],
          "properties": {
            "name": {
              "type": "string",
              "description": "Unique named identifier for the integration"
            },
            "blocks": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/IntegrationBlock"
              }
            }
          }
        }
      },
      "IntegrationSecrets": {
        "type": "object",
        "description": "Secrets stored on the integration and passed at runtime.",
        "properties": {},
        "maxProperties": 20,
        "additionalProperties": {
          "type": "string"
        }
      },
      "PublishIntegration": {
        "type": "object",
        "properties": {
          "runtime": {
            "type": "string",
            "description": "The runtime version to use for the integration. If not specified, the integration will use the default runtime.",
            "default": "v1",
            "enum": [
              "v1",
              "v2"
            ]
          },
          "icon": {
            "type": "string",
            "format": "byte",
            "description": "Base64 content of the icon"
          },
          "title": {
            "$ref": "#/components/schemas/IntegrationTitle"
          },
          "description": {
            "$ref": "#/components/schemas/IntegrationDescription"
          },
          "summary": {
            "$ref": "#/components/schemas/IntegrationSummary"
          },
          "previewImages": {
            "type": "array",
            "maxItems": 3,
            "items": {
              "type": "string",
              "format": "byte",
              "description": "Base64 content of the image"
            }
          },
          "visibility": {
            "$ref": "#/components/schemas/IntegrationVisibility"
          },
          "target": {
            "description": "Allowed installation target for the integration. If not specified, the integration can be installed at `all` targets (org, spaces etc)",
            "$ref": "#/components/schemas/IntegrationTarget"
          },
          "scopes": {
            "$ref": "#/components/schemas/IntegrationScopes"
          },
          "categories": {
            "$ref": "#/components/schemas/IntegrationCategories"
          },
          "blocks": {
            "$ref": "#/components/schemas/IntegrationBlocks"
          },
          "contentSources": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationContentSource"
            }
          },
          "externalLinks": {
            "$ref": "#/components/schemas/IntegrationExternalLinks"
          },
          "configurations": {
            "$ref": "#/components/schemas/IntegrationConfigurations"
          },
          "script": {
            "type": "string",
            "description": "Content of the script to use"
          },
          "organization": {
            "type": "string",
            "description": "The ID or subdomain of the organization under which the integration should be published"
          },
          "secrets": {
            "$ref": "#/components/schemas/IntegrationSecrets"
          },
          "contentSecurityPolicy": {
            "$ref": "#/components/schemas/IntegrationContentSecurityPolicy"
          }
        },
        "required": [
          "organization",
          "title",
          "description",
          "script",
          "scopes"
        ]
      },
      "IntegrationInstallationStatus": {
        "type": "string",
        "enum": [
          "active",
          "pending",
          "paused"
        ]
      },
      "IntegrationInstallationSpaceSelection": {
        "type": "string",
        "description": "Describe whether all spaces have been selected or there's a selection involved",
        "enum": [
          "all",
          "selected"
        ]
      },
      "IntegrationInstallationSiteSelection": {
        "type": "string",
        "description": "Describe whether all sites have been selected or there's a selection involved",
        "enum": [
          "all",
          "selected"
        ]
      },
      "IntegrationInstallationConfiguration": {
        "type": "object",
        "description": "Configuration of the integration at the account level",
        "additionalProperties": true
      },
      "IntegrationInstallationExternalIds": {
        "type": "array",
        "description": "External IDs assigned by the integration.",
        "maxItems": 5,
        "items": {
          "type": "string"
        }
      },
      "OrganizationTarget": {
        "type": "object",
        "required": [
          "organization"
        ],
        "properties": {
          "organization": {
            "type": "string"
          }
        }
      },
      "IntegrationInstallationTarget": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/OrganizationTarget"
          }
        ]
      },
      "IntegrationNetwork": {
        "type": "object",
        "description": "Network configuration for the installation",
        "properties": {
          "proxy": {
            "type": "boolean",
            "description": "Whether the installation is proxied through the backend"
          }
        }
      },
      "IntegrationInstallation": {
        "type": "object",
        "description": "Installation of an integration on an account",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/IntegrationInstallationStatus"
          },
          "space_selection": {
            "$ref": "#/components/schemas/IntegrationInstallationSpaceSelection"
          },
          "site_selection": {
            "$ref": "#/components/schemas/IntegrationInstallationSiteSelection"
          },
          "spaces": {
            "type": "number",
            "description": "Count of spaces, the installation is managing"
          },
          "configuration": {
            "$ref": "#/components/schemas/IntegrationInstallationConfiguration"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the installation in the API",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the integration's installation in the application",
                "format": "uri"
              },
              "publicEndpoint": {
                "type": "string",
                "description": "Public HTTP endpoint for the integration's installation",
                "format": "uri"
              }
            },
            "required": [
              "location",
              "app",
              "publicEndpoint"
            ]
          },
          "externalIds": {
            "$ref": "#/components/schemas/IntegrationInstallationExternalIds"
          },
          "target": {
            "$ref": "#/components/schemas/IntegrationInstallationTarget",
            "description": "Target of the integration installation"
          },
          "network": {
            "$ref": "#/components/schemas/IntegrationNetwork",
            "description": "Network configuration for the installation"
          }
        },
        "required": [
          "id",
          "status",
          "space_selection",
          "site_selection",
          "spaces",
          "configuration",
          "urls",
          "externalIds",
          "target",
          "createdAt",
          "updatedAt"
        ]
      },
      "BaseEvent": {
        "description": "Common properties for all events.",
        "type": "object",
        "properties": {
          "eventId": {
            "description": "Unique identifier for the event.",
            "type": "string"
          },
          "type": {
            "description": "Type of the event.",
            "type": "string"
          }
        },
        "required": [
          "eventId",
          "type"
        ]
      },
      "InstallationEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEvent"
          },
          {
            "type": "object",
            "description": "Common properties for all events related to an installation",
            "properties": {
              "installationId": {
                "type": "string",
                "description": "ID of the integration installation"
              }
            },
            "required": [
              "installationId"
            ]
          }
        ]
      },
      "InstallationSetupEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InstallationEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been installed or updated.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "installation_setup"
                ]
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationInstallationStatus"
              },
              "previous": {
                "type": "object",
                "description": "The state of the installation at the account level before it was updated.",
                "properties": {
                  "status": {
                    "$ref": "#/components/schemas/IntegrationInstallationStatus"
                  },
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the installation at the account level."
                  }
                },
                "required": [
                  "status"
                ]
              }
            },
            "required": [
              "type",
              "status"
            ]
          }
        ]
      },
      "InstallationDeletedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InstallationEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been uninstalled from an organization.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "installation_deleted"
                ]
              },
              "previous": {
                "type": "object",
                "description": "The state of the installation before it was deleted.",
                "properties": {
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the installation."
                  }
                }
              }
            },
            "required": [
              "type",
              "previous"
            ]
          }
        ]
      },
      "SpaceEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InstallationEvent"
          },
          {
            "type": "object",
            "description": "Common properties for all events related to a specific space.",
            "properties": {
              "spaceId": {
                "type": "string",
                "description": "ID of the space"
              }
            },
            "required": [
              "spaceId"
            ]
          }
        ]
      },
      "SpaceInstallationSetupEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been installed or updated on a space.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_installation_setup"
                ]
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationInstallationStatus"
              },
              "previous": {
                "type": "object",
                "description": "The state of the Space installation before it was updated.",
                "properties": {
                  "status": {
                    "$ref": "#/components/schemas/IntegrationInstallationStatus"
                  },
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the Space installation."
                  }
                },
                "required": [
                  "status"
                ]
              }
            },
            "required": [
              "type",
              "status"
            ]
          }
        ]
      },
      "SpaceInstallationDeletedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been uninstalled from a space.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_installation_deleted"
                ]
              },
              "previous": {
                "type": "object",
                "description": "The state of the Space installation before it was deleted.",
                "properties": {
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the Space installation."
                  }
                }
              }
            },
            "required": [
              "type",
              "previous"
            ]
          }
        ]
      },
      "SiteEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InstallationEvent"
          },
          {
            "type": "object",
            "description": "Common properties for all events related to a specific site.",
            "properties": {
              "siteId": {
                "type": "string",
                "description": "ID of the site"
              }
            },
            "required": [
              "siteId"
            ]
          }
        ]
      },
      "SiteInstallationSetupEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been installed or updated on a site.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "site_installation_setup"
                ]
              },
              "status": {
                "$ref": "#/components/schemas/IntegrationInstallationStatus"
              },
              "previous": {
                "type": "object",
                "description": "The state of the site installation before it was updated.",
                "properties": {
                  "status": {
                    "$ref": "#/components/schemas/IntegrationInstallationStatus"
                  },
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the site installation."
                  }
                },
                "required": [
                  "status"
                ]
              }
            },
            "required": [
              "type",
              "status"
            ]
          }
        ]
      },
      "SiteInstallationDeletedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteEvent"
          },
          {
            "type": "object",
            "description": "Event received when integration has been uninstalled from a site.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "site_installation_deleted"
                ]
              },
              "previous": {
                "type": "object",
                "description": "The state of the site installation before it was deleted.",
                "properties": {
                  "configuration": {
                    "type": "object",
                    "description": "The previous configuration of the site installation."
                  }
                }
              }
            },
            "required": [
              "type",
              "previous"
            ]
          }
        ]
      },
      "EventVisitor": {
        "type": "object",
        "description": "Analytics info on the GitBook's content visitor.",
        "properties": {
          "anonymousId": {
            "type": "string",
            "description": "GitBook's unique identifier of the visitor."
          },
          "cookies": {
            "type": "object",
            "description": "The visitors cookies.",
            "additionalProperties": {
              "type": "string"
            }
          },
          "userAgent": {
            "type": "string",
            "description": "User-agent of the visitor."
          },
          "ip": {
            "type": "string",
            "description": "IP address of the visitor."
          },
          "language": {
            "type": "string",
            "description": "Language of the visitor."
          }
        },
        "required": [
          "anonymousId",
          "cookies",
          "userAgent",
          "ip"
        ]
      },
      "SiteViewEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteEvent"
          },
          {
            "type": "object",
            "description": "Event received when a page has been visited on a site.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "site_view"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "Unique identifier of the visited space in the site.",
                "deprecated": true
              },
              "siteSpaceId": {
                "description": "The site-space that was viewed",
                "type": "string"
              },
              "pageId": {
                "type": "string",
                "description": "Unique identifier of the visited page."
              },
              "visitor": {
                "$ref": "#/components/schemas/EventVisitor"
              },
              "url": {
                "type": "string",
                "description": "The GitBook content's URL visited (including URL params)."
              },
              "referrer": {
                "type": "string",
                "description": "The URL of referrer that linked to the page."
              }
            },
            "required": [
              "type",
              "visitor",
              "url",
              "referrer"
            ]
          }
        ]
      },
      "SpaceContentUpdatedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event when the primary content of a space has been updated.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_content_updated"
                ]
              },
              "revisionId": {
                "type": "string",
                "description": "Unique identifier of the new content revision"
              }
            },
            "required": [
              "type",
              "revisionId"
            ]
          }
        ]
      },
      "SpaceGitSyncCompletedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event when a GitSync operation has been completed.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_gitsync_completed"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "success",
                  "failure"
                ]
              },
              "revisionId": {
                "type": "string",
                "description": "Unique identifier of the new content revision"
              },
              "commitId": {
                "type": "string",
                "description": "Unique identifier for the commit (sha)"
              }
            },
            "required": [
              "type",
              "state",
              "revisionId",
              "commitId"
            ]
          }
        ]
      },
      "SpaceGitSyncStartedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event when a GitSync operation has been started.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_gitsync_started"
                ]
              },
              "revisionId": {
                "type": "string",
                "description": "Unique identifier of the new content revision"
              },
              "commitId": {
                "type": "string",
                "description": "Unique identifier for the commit (sha)"
              }
            },
            "required": [
              "type",
              "revisionId",
              "commitId"
            ]
          }
        ]
      },
      "SpaceVisibilityUpdatedEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Event when the visibility of the space has been changed.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "space_visibility_updated"
                ]
              },
              "previousVisibility": {
                "$ref": "#/components/schemas/ContentVisibility"
              },
              "visibility": {
                "$ref": "#/components/schemas/ContentVisibility"
              }
            },
            "required": [
              "type",
              "previousVisibility",
              "visibility"
            ]
          }
        ]
      },
      "TaskEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEvent"
          },
          {
            "type": "object",
            "description": "Event representing a background task trigger for an integration.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "task"
                ]
              },
              "task": {
                "type": "object",
                "description": "Payload associated with the integration task."
              }
            },
            "required": [
              "type",
              "task"
            ]
          }
        ]
      },
      "FetchRequest": {
        "type": "object",
        "properties": {
          "method": {
            "type": "string",
            "enum": [
              "post",
              "get",
              "put",
              "delete"
            ]
          },
          "url": {
            "type": "string"
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "required": [
          "method",
          "url",
          "headers"
        ]
      },
      "FetchEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEvent"
          },
          {
            "type": "object",
            "description": "Event representing an incoming HTTP request.",
            "properties": {
              "spaceId": {
                "type": "string",
                "description": "The space ID, if requests are specific to a single space"
              },
              "siteId": {
                "type": "string",
                "description": "The site ID, if requests are specific to a single site"
              },
              "installationId": {
                "type": "string",
                "description": "The installation ID, if requests are specific to a single installation"
              },
              "auth": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "The user's ID."
                  }
                },
                "required": [
                  "userId"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "fetch"
                ]
              },
              "request": {
                "$ref": "#/components/schemas/FetchRequest"
              }
            },
            "required": [
              "type",
              "request"
            ]
          }
        ]
      },
      "FetchPublishedScriptEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteEvent"
          },
          {
            "type": "object",
            "description": "Common properties for all events related to fetching a published script from an installation",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "fetch_published_script"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "FetchVisitorAuthenticationEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteEvent"
          },
          {
            "type": "object",
            "description": "Common properties for all events related to authenticated access from an installation",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "fetch_visitor_authentication"
                ]
              },
              "location": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "ContentKitContextBase": {
        "type": "object",
        "description": "Common properties for ContentKit context.",
        "properties": {
          "theme": {
            "type": "string",
            "enum": [
              "dark",
              "light"
            ]
          }
        },
        "required": [
          "theme"
        ]
      },
      "ContentKitContextConfigurationAccount": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextBase"
          },
          {
            "type": "object",
            "description": "Context while rendering in an account installation's configuration.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "configuration_account"
                ]
              },
              "organizationId": {
                "type": "string",
                "description": "ID of the organization the account installation configuration is in."
              }
            },
            "required": [
              "type",
              "organizationId"
            ]
          }
        ]
      },
      "ContentKitContextConfigurationSpace": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextBase"
          },
          {
            "type": "object",
            "description": "Context while rendering in a space-installation's configuration.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "configuration_space"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "ID of the space the space-installation configuration is in."
              }
            },
            "required": [
              "type",
              "spaceId"
            ]
          }
        ]
      },
      "ContentKitContextConfigurationSite": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextBase"
          },
          {
            "type": "object",
            "description": "Context while rendering in a site-installation's configuration.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "configuration_site"
                ]
              },
              "siteId": {
                "type": "string",
                "description": "ID of the site the site-installation configuration is in."
              }
            },
            "required": [
              "type",
              "siteId"
            ]
          }
        ]
      },
      "ContentKitContextConfigurationContentSource": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextBase"
          },
          {
            "type": "object",
            "description": "Context while rendering the configuration flow of a content source.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "configuration_contentsource"
                ]
              },
              "organizationId": {
                "type": "string",
                "description": "ID of the organization the content source installation configuration is in."
              },
              "spaceId": {
                "type": "string",
                "description": "Optional ID of the space the content source installation configuration is in."
              }
            },
            "required": [
              "type",
              "organizationId"
            ]
          }
        ]
      },
      "ContentKitContextDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextBase"
          },
          {
            "type": "object",
            "description": "Context while rendering in a document.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "document"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "ID of the space content the document is in."
              },
              "editable": {
                "type": "boolean"
              }
            },
            "required": [
              "type",
              "spaceId",
              "editable"
            ]
          }
        ]
      },
      "ContentKitContext": {
        "description": "Object representing the context in which a ContentKit component is rendered.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentKitContextConfigurationAccount"
          },
          {
            "$ref": "#/components/schemas/ContentKitContextConfigurationSpace"
          },
          {
            "$ref": "#/components/schemas/ContentKitContextConfigurationSite"
          },
          {
            "$ref": "#/components/schemas/ContentKitContextConfigurationContentSource"
          },
          {
            "$ref": "#/components/schemas/ContentKitContextDocument"
          }
        ]
      },
      "UIRenderEvent": {
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SpaceEvent"
              },
              {
                "$ref": "#/components/schemas/SiteEvent"
              },
              {
                "$ref": "#/components/schemas/InstallationEvent"
              }
            ]
          },
          {
            "type": "object",
            "description": "Event generated when rendering a UI",
            "properties": {
              "auth": {
                "type": "object",
                "properties": {
                  "userId": {
                    "type": "string",
                    "description": "The user's ID."
                  }
                },
                "required": [
                  "userId"
                ]
              },
              "type": {
                "type": "string",
                "enum": [
                  "ui_render"
                ]
              },
              "componentId": {
                "type": "string"
              },
              "props": {
                "description": "Properties to render the UI.",
                "type": "object"
              },
              "state": {
                "description": "State of the UI.",
                "type": "object"
              },
              "context": {
                "$ref": "#/components/schemas/ContentKitContext"
              },
              "action": {
                "type": "object"
              }
            },
            "required": [
              "type",
              "componentId",
              "props",
              "context"
            ]
          }
        ]
      },
      "ContentComputeEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SpaceEvent"
          },
          {
            "type": "object",
            "description": "Generic event when computing the content of a space",
            "properties": {
              "sourceId": {
                "type": "string"
              },
              "props": {
                "description": "Properties passed to the rendering.",
                "$ref": "#/components/schemas/PlainObject"
              },
              "dependencies": {
                "description": "Dependencies of the computation.",
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/ComputedContentDependencyResolved"
                }
              }
            },
            "required": [
              "sourceId",
              "props",
              "dependencies"
            ]
          }
        ]
      },
      "ContentComputeDocumentEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentComputeEvent"
          },
          {
            "type": "object",
            "description": "Event generated when computing the document of a pages.\nThe integration should respond with a `Document`.\n",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "content_compute_document"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "ContentComputeRevisionEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentComputeEvent"
          },
          {
            "type": "object",
            "description": "Event generated when computing revision in a content.\nThe integration should respond with an array of pages and files.\n",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "content_compute_revision"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "PageFeedbackRating": {
        "type": "string",
        "enum": [
          "bad",
          "ok",
          "good"
        ]
      },
      "PageFeedbackEvent": {
        "allOf": [
          {
            "$ref": "#/components/schemas/BaseEvent"
          },
          {
            "type": "object",
            "description": "Event received when feedback has been submitted on a page.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "page_feedback"
                ]
              },
              "installationId": {
                "type": "string",
                "description": "ID of the integration installation"
              },
              "spaceId": {
                "type": "string",
                "description": "Unique identifier of the space in the site.",
                "deprecated": true
              },
              "siteId": {
                "type": "string",
                "description": "Unique identifier of the site."
              },
              "pageId": {
                "type": "string",
                "description": "Unique identifier of the page where feedback was submitted."
              },
              "feedback": {
                "type": "object",
                "description": "The feedback data submitted by the visitor.",
                "properties": {
                  "rating": {
                    "$ref": "#/components/schemas/PageFeedbackRating"
                  },
                  "comment": {
                    "type": "string",
                    "description": "Optional comment provided with the feedback.",
                    "minLength": 1,
                    "maxLength": 512
                  }
                },
                "required": [
                  "rating"
                ]
              },
              "visitor": {
                "$ref": "#/components/schemas/EventVisitor"
              },
              "url": {
                "type": "string",
                "description": "The GitBook content's URL where feedback was submitted."
              },
              "referrer": {
                "type": "string",
                "description": "The URL of referrer that linked to the page."
              }
            },
            "required": [
              "type",
              "installationId",
              "siteId",
              "feedback",
              "visitor",
              "url",
              "referrer"
            ]
          }
        ]
      },
      "Event": {
        "description": "Any event that can be received from GitBook.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/InstallationSetupEvent"
          },
          {
            "$ref": "#/components/schemas/InstallationDeletedEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceInstallationSetupEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceInstallationDeletedEvent"
          },
          {
            "$ref": "#/components/schemas/SiteInstallationSetupEvent"
          },
          {
            "$ref": "#/components/schemas/SiteInstallationDeletedEvent"
          },
          {
            "$ref": "#/components/schemas/SiteViewEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceContentUpdatedEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceGitSyncCompletedEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceGitSyncStartedEvent"
          },
          {
            "$ref": "#/components/schemas/SpaceVisibilityUpdatedEvent"
          },
          {
            "$ref": "#/components/schemas/TaskEvent"
          },
          {
            "$ref": "#/components/schemas/FetchEvent"
          },
          {
            "$ref": "#/components/schemas/FetchPublishedScriptEvent"
          },
          {
            "$ref": "#/components/schemas/FetchVisitorAuthenticationEvent"
          },
          {
            "$ref": "#/components/schemas/UIRenderEvent"
          },
          {
            "$ref": "#/components/schemas/ContentComputeDocumentEvent"
          },
          {
            "$ref": "#/components/schemas/ContentComputeRevisionEvent"
          },
          {
            "$ref": "#/components/schemas/PageFeedbackEvent"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "IntegrationEvent": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique ID of the event."
          },
          "integrationId": {
            "type": "string",
            "description": "Unique ID of the integration."
          },
          "installationId": {
            "type": "string",
            "description": "Unique ID of the integration installation."
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "payload": {
            "$ref": "#/components/schemas/Event"
          },
          "status": {
            "type": "string",
            "description": "Status of the event.",
            "enum": [
              "success",
              "failed"
            ]
          }
        },
        "required": [
          "id",
          "integrationId",
          "createdAt",
          "payload",
          "status"
        ]
      },
      "IntegrationEventLog": {
        "type": "object",
        "properties": {
          "message": {
            "description": "The message of the log entry.",
            "type": "string"
          },
          "timestamp": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "level": {
            "description": "The level of the log entry.",
            "type": "string",
            "enum": [
              "debug",
              "info",
              "warn",
              "error"
            ]
          }
        }
      },
      "IntegrationEventTrace": {
        "type": "object",
        "required": [
          "logs"
        ],
        "properties": {
          "logs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/IntegrationEventLog"
            }
          }
        }
      },
      "IntegrationContentInstallationBase": {
        "type": "object",
        "description": "Base properties of an installation of an integration on a site or space.",
        "properties": {
          "integration": {
            "description": "Unique name identifier of the integration",
            "type": "string"
          },
          "installation": {
            "description": "ID of the integration installation",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/IntegrationInstallationStatus"
          },
          "configuration": {
            "description": "Configuration of the integration for this site",
            "type": "object"
          },
          "externalIds": {
            "$ref": "#/components/schemas/IntegrationInstallationExternalIds"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the integration's installation in the API",
                "format": "uri"
              },
              "publicEndpoint": {
                "type": "string",
                "description": "Public HTTP endpoint for the integration's installation",
                "format": "uri"
              }
            },
            "required": [
              "location",
              "publicEndpoint"
            ]
          }
        },
        "required": [
          "integration",
          "installation",
          "status",
          "configuration",
          "externalIds",
          "urls"
        ]
      },
      "IntegrationSpaceInstallation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationContentInstallationBase"
          },
          {
            "type": "object",
            "properties": {
              "space": {
                "description": "The space the integration is installed on. Using the string value is deprecated in favor of space.id",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/Space"
                  }
                ]
              }
            },
            "required": [
              "space"
            ]
          }
        ]
      },
      "SiteType": {
        "type": "string",
        "description": "The type of the site",
        "enum": [
          "basic",
          "premium",
          "ultimate",
          "sponsored",
          "legacy-basic",
          "legacy-premium"
        ]
      },
      "SiteTitle": {
        "type": "string",
        "description": "Title of the site",
        "minLength": 2,
        "maxLength": 128
      },
      "CustomizationThemedURL": {
        "type": "object",
        "properties": {
          "light": {
            "$ref": "#/components/schemas/URL"
          },
          "dark": {
            "$ref": "#/components/schemas/URL"
          }
        },
        "required": [
          "light",
          "dark"
        ]
      },
      "CustomizationFavicon": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "icon": {
                "$ref": "#/components/schemas/CustomizationThemedURL"
              }
            },
            "required": [
              "icon"
            ]
          },
          {
            "type": "object",
            "properties": {
              "emoji": {
                "$ref": "#/components/schemas/Emoji"
              }
            },
            "required": [
              "emoji"
            ]
          },
          {
            "type": "object",
            "properties": {},
            "additionalProperties": false
          }
        ]
      },
      "SiteHostname": {
        "type": "string",
        "description": "Custom hostname for the site, for e.g. docs.mycompany.com",
        "pattern": "^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?[.]){2,}[a-z0-9][a-z0-9-]{0,61}[a-z0-9]$",
        "maxLength": 512
      },
      "SiteBasename": {
        "type": "string",
        "description": "Basename for the site. For e.g. api",
        "minLength": 1,
        "maxLength": 100
      },
      "SiteProxyOrigin": {
        "type": "string",
        "description": "Proxy URL for the site, for e.g. company.com/docs or www.company.com/developer/docs etc.",
        "pattern": "^([\\w-]+\\.)*[\\w-]+\\.[a-zA-Z]{2,}(\\/[\\w-]+)+$",
        "maxLength": 512
      },
      "SiteProxy": {
        "type": "object",
        "properties": {
          "origin": {
            "$ref": "#/components/schemas/SiteProxyOrigin"
          },
          "target": {
            "type": "string",
            "description": "The target URL to which the requests at the origin URL should be proxied to."
          }
        },
        "required": [
          "origin",
          "target"
        ]
      },
      "SiteVisibility": {
        "type": "string",
        "description": "The visibility setting of the site determines the audience of the site.\n* `public`: Anyone can access the site, and the site is indexed by search engines.\n* `unlisted`: Anyone can access the site, and the site is not indexed by search engines\n* `share-link`: Anyone with a secret token in the url can access the site.\n* `visitor-auth`: Anyone authenticated through a JWT token can access the site.\n",
        "enum": [
          "public",
          "unlisted",
          "share-link",
          "visitor-auth"
        ]
      },
      "SiteAdaptiveContent": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether adaptive content should be enabled on the site."
          }
        },
        "required": [
          "enabled"
        ]
      },
      "SiteAdsTopic": {
        "type": "string",
        "description": "Topic of the content",
        "enum": [
          "webdev",
          "crypto"
        ]
      },
      "SiteAds": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "status",
              "submittable"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "pending"
                ]
              },
              "submittable": {
                "type": "boolean",
                "description": "True if the user can submit the site for review."
              }
            }
          },
          {
            "type": "object",
            "required": [
              "status",
              "topic"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "in-review"
                ]
              },
              "topic": {
                "$ref": "#/components/schemas/SiteAdsTopic"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "status"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "rejected"
                ]
              },
              "reason": {
                "type": "string",
                "description": "Reason for the rejection"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "status",
              "topic",
              "zoneId"
            ],
            "properties": {
              "status": {
                "type": "string",
                "enum": [
                  "live",
                  "disabled"
                ]
              },
              "topic": {
                "$ref": "#/components/schemas/SiteAdsTopic"
              },
              "zoneId": {
                "type": "string",
                "description": "The ad network zone ID"
              }
            }
          }
        ]
      },
      "SiteFeatureKey": {
        "type": "string",
        "description": "The site feature identifier",
        "enum": [
          "sites-adaptive-content",
          "sites-advanced-customization",
          "sites-advanced-insights",
          "sites-ads",
          "sites-ai-search",
          "sites-ai-assistant",
          "sites-embed",
          "sites-api-playground",
          "sites-basic-customization",
          "sites-custom-domain",
          "sites-custom-fonts",
          "sites-custom-subdirectory",
          "sites-full-text-search",
          "sites-multivariant-site",
          "sites-no-custom-domain",
          "sites-page-feedback",
          "sites-page-traffic-insights",
          "sites-pdf-export",
          "sites-preview-deployments",
          "sites-public-visibility",
          "sites-redirects",
          "sites-search-insights",
          "sites-sections",
          "sites-seo",
          "sites-share-links",
          "sites-unlisted-visibility",
          "sites-user-contribution",
          "sites-visitor-authentication",
          "sites-visitors"
        ]
      },
      "SiteCustomizationFeature": {
        "type": "string",
        "description": "A list of all premium customizations.",
        "enum": [
          "header-logo",
          "header-primary-link",
          "theme-preset",
          "premium-fonts",
          "custom-icons",
          "footer-logo",
          "footer-links",
          "footer-copyright",
          "semantic-colors"
        ]
      },
      "SiteFeature": {
        "type": "object",
        "description": "A site feature and the plan it is available on.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/SiteFeatureKey"
          },
          "plan": {
            "$ref": "#/components/schemas/SiteType"
          },
          "frozen": {
            "description": "A frozen feature is still enabled but cannot be changed or modified.",
            "type": "boolean"
          },
          "customizations": {
            "description": "A list of the actual advanced customizations used (only applicable for sites-advanced-customization)",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteCustomizationFeature"
            }
          }
        },
        "required": [
          "id",
          "plan",
          "frozen"
        ]
      },
      "Site": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the site"
          },
          "type": {
            "$ref": "#/components/schemas/SiteType"
          },
          "appliedType": {
            "$ref": "#/components/schemas/SiteType",
            "description": "The currently applied type of the site. For example, frozen sites will have this set to Basic."
          },
          "title": {
            "$ref": "#/components/schemas/SiteTitle"
          },
          "icon": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/CustomizationFavicon"
              },
              {
                "type": "null"
              }
            ]
          },
          "hostname": {
            "$ref": "#/components/schemas/SiteHostname"
          },
          "basename": {
            "$ref": "#/components/schemas/SiteBasename"
          },
          "proxy": {
            "$ref": "#/components/schemas/SiteProxy"
          },
          "visibility": {
            "$ref": "#/components/schemas/SiteVisibility"
          },
          "published": {
            "type": "boolean",
            "description": "Whether the site is live or not. If true, the site is accessible to the audience defined by the visibility setting."
          },
          "siteSpaces": {
            "type": "number"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "adaptiveContent": {
            "$ref": "#/components/schemas/SiteAdaptiveContent"
          },
          "ads": {
            "$ref": "#/components/schemas/SiteAds"
          },
          "features": {
            "description": "A list of all premium features enabled on this site. For each feature we list the plan they belong to and whether the feature is frozen. A frozen feature is still enabled but cannot be changed or modified.\n",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteFeature"
            }
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the site in the API",
                "format": "uri"
              },
              "app": {
                "type": "string",
                "description": "URL of the site in the application",
                "format": "uri"
              },
              "published": {
                "type": "string",
                "description": "URL of the published version of the site. Only defined when site is published.",
                "format": "uri"
              },
              "preview": {
                "type": "string",
                "description": "URL of the preview version of the site.",
                "format": "uri"
              }
            },
            "required": [
              "app",
              "location",
              "preview"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "type",
          "appliedType",
          "title",
          "visibility",
          "published",
          "createdAt",
          "siteSpaces",
          "features",
          "urls"
        ]
      },
      "IntegrationSiteInstallation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationContentInstallationBase"
          },
          {
            "type": "object",
            "properties": {
              "site": {
                "description": "The site the integration is installed on. Using the string value is deprecated in favor of site.id",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/Site"
                  }
                ]
              }
            },
            "required": [
              "site"
            ]
          }
        ]
      },
      "ContentKitIcon": {
        "type": "string",
        "enum": [
          "close",
          "edit",
          "github",
          "gitlab",
          "maximize",
          "email",
          "settings",
          "search",
          "delete",
          "star",
          "warning",
          "link",
          "link-external",
          "eye",
          "eye-off",
          "lock",
          "check",
          "check-circle"
        ]
      },
      "ContentKitConfirm": {
        "type": "object",
        "description": "A confirm object that defines an optional confirmation dialog after the input is clicked.",
        "properties": {
          "title": {
            "type": "string",
            "description": "A text value that defines the dialog's title.",
            "maxLength": 100
          },
          "text": {
            "type": "string",
            "description": "A text value that defines the explanatory text that appears in the confirm dialog.",
            "maxLength": 300
          },
          "confirm": {
            "type": "string",
            "description": "A text value to define the text of the button that confirms the action.",
            "maxLength": 30
          },
          "style": {
            "type": "string",
            "enum": [
              "primary",
              "danger"
            ]
          }
        },
        "required": [
          "title",
          "text",
          "confirm"
        ]
      },
      "ContentKitButton": {
        "type": "object",
        "description": "Pressable button triggering an action.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "button"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "primary",
              "secondary",
              "danger"
            ]
          },
          "onPress": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "icon": {
            "$ref": "#/components/schemas/ContentKitIcon"
          },
          "trailingIcon": {
            "$ref": "#/components/schemas/ContentKitIcon"
          },
          "label": {
            "type": "string"
          },
          "tooltip": {
            "type": "string"
          },
          "confirm": {
            "$ref": "#/components/schemas/ContentKitConfirm"
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "type",
          "onPress"
        ]
      },
      "ContentKitTextInput": {
        "type": "object",
        "description": "Text input to prompt the user.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "textinput"
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "state": {
            "description": "State binding. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "initialValue": {
            "description": "Text value to initialize the input with.",
            "type": "string"
          },
          "placeholder": {
            "description": "Text that appears in the form control when it has no value set",
            "type": "string"
          },
          "multiline": {
            "type": "boolean"
          },
          "inputType": {
            "type": "string",
            "enum": [
              "text",
              "password",
              "email"
            ],
            "default": "text"
          }
        },
        "required": [
          "type",
          "state"
        ]
      },
      "ContentKitDescendantElement": {
        "description": "Any element that can be used as children.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentKitButton"
          },
          {
            "$ref": "#/components/schemas/ContentKitTextInput"
          },
          {
            "$ref": "#/components/schemas/ContentKitHStack"
          },
          {
            "$ref": "#/components/schemas/ContentKitVStack"
          },
          {
            "$ref": "#/components/schemas/ContentKitBox"
          },
          {
            "$ref": "#/components/schemas/ContentKitDivider"
          },
          {
            "$ref": "#/components/schemas/ContentKitWebFrame"
          },
          {
            "$ref": "#/components/schemas/ContentKitCodeBlock"
          },
          {
            "$ref": "#/components/schemas/ContentKitMarkdown"
          },
          {
            "$ref": "#/components/schemas/ContentKitCard"
          },
          {
            "$ref": "#/components/schemas/ContentKitImage"
          },
          {
            "$ref": "#/components/schemas/ContentKitInput"
          },
          {
            "$ref": "#/components/schemas/ContentKitSelect"
          },
          {
            "$ref": "#/components/schemas/ContentKitSwitch"
          },
          {
            "$ref": "#/components/schemas/ContentKitCheckbox"
          },
          {
            "$ref": "#/components/schemas/ContentKitRadio"
          },
          {
            "$ref": "#/components/schemas/ContentKitText"
          },
          {
            "$ref": "#/components/schemas/ContentKitHint"
          },
          {
            "$ref": "#/components/schemas/ContentKitLink"
          },
          {
            "$ref": "#/components/schemas/ContentKitStepperStep"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "ContentKitHStack": {
        "type": "object",
        "description": "Horizontal stack of boxes.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "hstack"
            ]
          },
          "align": {
            "type": "string",
            "default": "start",
            "enum": [
              "start",
              "center",
              "end"
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitVStack": {
        "type": "object",
        "description": "Vertical stack of boxes.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "vstack"
            ]
          },
          "align": {
            "type": "string",
            "default": "start",
            "enum": [
              "start",
              "center",
              "end"
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitBox": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "box"
            ]
          },
          "grow": {
            "description": "specifies how much of the remaining space in the container should be assigned to the element",
            "type": "number"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitDivider": {
        "type": "object",
        "description": "Divider between 2 boxes in a stack.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "divider"
            ]
          },
          "size": {
            "type": "string",
            "enum": [
              "small",
              "medium",
              "large"
            ]
          }
        },
        "required": [
          "type"
        ]
      },
      "ContentKitDynamicBinding": {
        "type": "object",
        "description": "Binding between a property and a state value.",
        "properties": {
          "$state": {
            "type": "string",
            "description": "Key in the state"
          }
        },
        "required": [
          "$state"
        ]
      },
      "ContentKitWebFrame": {
        "type": "object",
        "description": "Frame for a webpage",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "webframe"
            ]
          },
          "aspectRatio": {
            "type": "number",
            "description": "Ratio between width and height. Used to size the webframe."
          },
          "source": {
            "type": "object",
            "description": "Content to load in the frame.",
            "properties": {
              "url": {
                "type": "string"
              }
            },
            "required": [
              "url"
            ]
          },
          "buttons": {
            "type": "array",
            "description": "Controls button shown as an overlay in a corner of the frame.",
            "items": {
              "$ref": "#/components/schemas/ContentKitButton"
            }
          },
          "data": {
            "type": "object",
            "description": "Data to communicated to the webframe's content. Each state update will cause the webframe to receive a message.",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/ContentKitDynamicBinding"
                }
              ]
            }
          }
        },
        "required": [
          "type",
          "source"
        ]
      },
      "ContentKitCodeBlock": {
        "type": "object",
        "description": "Code block with syntax highlighting",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "codeblock"
            ]
          },
          "content": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitDynamicBinding"
              },
              {
                "type": "string",
                "description": "Code content to display"
              }
            ]
          },
          "syntax": {
            "description": "Syntax to use for highlighting (ex: javascript, python)",
            "type": "string"
          },
          "lineNumbers": {
            "oneOf": [
              {
                "type": "boolean"
              },
              {
                "type": "number",
                "description": "Line number to start at."
              }
            ]
          },
          "buttons": {
            "type": "array",
            "description": "Controls button shown as an overlay in a corner of the code block.",
            "items": {
              "$ref": "#/components/schemas/ContentKitButton"
            }
          },
          "state": {
            "description": "State binding when editable. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "onContentChange": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "header": {
            "type": "array",
            "description": "Header displayed before the code lines",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          },
          "footer": {
            "type": "array",
            "description": "Footer displayed after the code lines",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          }
        },
        "required": [
          "type",
          "content"
        ]
      },
      "ContentKitMarkdown": {
        "type": "object",
        "description": "Block with rich text formatting of a markdown content.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "markdown"
            ]
          },
          "content": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitDynamicBinding"
              },
              {
                "type": "string",
                "description": "Markdown content to display"
              }
            ]
          }
        },
        "required": [
          "type",
          "content"
        ]
      },
      "ContentKitText": {
        "type": "object",
        "description": "Low level text element.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text"
            ]
          },
          "style": {
            "type": "string",
            "enum": [
              "bold",
              "italic",
              "code",
              "strikethrough"
            ]
          },
          "children": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "$ref": "#/components/schemas/ContentKitText"
                    },
                    {
                      "$ref": "#/components/schemas/ContentKitLink"
                    }
                  ]
                }
              }
            ]
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitURL": {
        "type": "object",
        "description": "Specification for an URL in ContentKit.",
        "properties": {
          "host": {
            "type": "string",
            "description": "Hostname of the URL along with the port number if required.",
            "example": "api.example.com"
          },
          "pathname": {
            "type": "string",
            "description": "Path of the URL prefixed with a `/`.",
            "example": "/v1/options"
          },
          "query": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "$ref": "#/components/schemas/ContentKitDynamicBinding"
                }
              ]
            }
          }
        },
        "required": [
          "host",
          "pathname"
        ]
      },
      "ContentKitLink": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "link"
            ]
          },
          "target": {
            "type": "object",
            "properties": {
              "url": {
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "$ref": "#/components/schemas/ContentKitURL"
                  }
                ]
              }
            },
            "required": [
              "url"
            ]
          },
          "children": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          }
        },
        "required": [
          "type",
          "target",
          "children"
        ]
      },
      "ContentKitImage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "source": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "format": "uri"
              }
            },
            "required": [
              "url"
            ]
          },
          "aspectRatio": {
            "type": "number"
          }
        },
        "required": [
          "type",
          "source",
          "aspectRatio"
        ]
      },
      "ContentKitInlineElement": {
        "description": "Any element that is inline.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentKitText"
          },
          {
            "$ref": "#/components/schemas/ContentKitImage"
          },
          {
            "$ref": "#/components/schemas/ContentKitLink"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "ContentKitCard": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "card"
            ]
          },
          "title": {
            "type": "string"
          },
          "hint": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContentKitInlineElement"
                }
              }
            ]
          },
          "icon": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitIcon"
              },
              {
                "$ref": "#/components/schemas/ContentKitImage"
              }
            ]
          },
          "onPress": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          },
          "buttons": {
            "type": "array",
            "description": "Buttons displayed in the top right corner of the card.",
            "items": {
              "$ref": "#/components/schemas/ContentKitButton"
            }
          }
        },
        "required": [
          "type"
        ]
      },
      "ContentKitBuiltInSource": {
        "type": "object",
        "description": "Built-in sources that can be used to provide a ContentKitSelect.",
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "openapi"
            ]
          }
        },
        "required": [
          "source"
        ]
      },
      "ContentKitSelectOption": {
        "type": "object",
        "description": "An individual option in a select element",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "icon": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitIcon"
              },
              {
                "$ref": "#/components/schemas/ContentKitImage"
              }
            ]
          }
        },
        "required": [
          "id",
          "label"
        ]
      },
      "ContentKitSelect": {
        "type": "object",
        "description": "Creates a drop down menu with a list of options for a user to choose.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "select"
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "state": {
            "description": "State binding. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "initialValue": {
            "description": "Value to initialize the select with.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "onValueChange": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "placeholder": {
            "description": "Text that appears in the form control when it has no value set",
            "type": "string"
          },
          "multiple": {
            "description": "Should the select accept the selection of multiple options. If true, the state will be an array.",
            "type": "boolean"
          },
          "acceptInput": {
            "description": "Should the filter input be allowed to be selected as an option.",
            "type": "boolean"
          },
          "options": {
            "description": "Options to be displayed in the select.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitBuiltInSource"
              },
              {
                "type": "array",
                "description": "Static list of options",
                "items": {
                  "$ref": "#/components/schemas/ContentKitSelectOption"
                }
              },
              {
                "type": "object",
                "properties": {
                  "url": {
                    "oneOf": [
                      {
                        "type": "string",
                        "description": "External source of options. The URL should respond with an array of options."
                      },
                      {
                        "$ref": "#/components/schemas/ContentKitURL"
                      }
                    ]
                  }
                },
                "required": [
                  "url"
                ]
              }
            ]
          }
        },
        "required": [
          "type",
          "state",
          "options"
        ]
      },
      "ContentKitSwitch": {
        "type": "object",
        "description": "Renders a boolean input.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "switch"
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "state": {
            "description": "State binding. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "initialValue": {
            "description": "Value to initialize the switch with.",
            "type": "boolean"
          },
          "onValueChange": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "confirm": {
            "$ref": "#/components/schemas/ContentKitConfirm"
          }
        },
        "required": [
          "type",
          "state"
        ]
      },
      "ContentKitRadio": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "radio"
            ]
          },
          "disabled": {
            "type": "boolean"
          },
          "state": {
            "description": "State binding. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "value": {
            "description": "Value to store in th state when the checkbox is selected.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "confirm": {
            "$ref": "#/components/schemas/ContentKitConfirm"
          }
        },
        "required": [
          "type",
          "state",
          "value"
        ]
      },
      "ContentKitCheckbox": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "checkbox"
            ]
          },
          "state": {
            "description": "State binding. The value of the input will be stored as a property in the state named after this ID.",
            "type": "string"
          },
          "value": {
            "description": "Value to store in a state array when the checkbox is selected.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              }
            ]
          },
          "confirm": {
            "$ref": "#/components/schemas/ContentKitConfirm"
          }
        },
        "required": [
          "type",
          "state",
          "value"
        ]
      },
      "ContentKitInput": {
        "type": "object",
        "description": "Field for an input.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "input"
            ]
          },
          "label": {
            "type": "string",
            "description": "Text label displayed next to the input."
          },
          "hint": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "$ref": "#/components/schemas/ContentKitInlineElement"
              }
            ]
          },
          "element": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentKitTextInput"
              },
              {
                "$ref": "#/components/schemas/ContentKitSelect"
              },
              {
                "$ref": "#/components/schemas/ContentKitSwitch"
              },
              {
                "$ref": "#/components/schemas/ContentKitRadio"
              },
              {
                "$ref": "#/components/schemas/ContentKitCheckbox"
              },
              {
                "$ref": "#/components/schemas/ContentKitButton"
              },
              {
                "$ref": "#/components/schemas/ContentKitCodeBlock"
              }
            ]
          }
        },
        "required": [
          "type",
          "label",
          "element"
        ]
      },
      "ContentKitHint": {
        "type": "object",
        "description": "Element used to contextualize other elements or info.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "hint"
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitInlineElement"
            }
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitStepperStep": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "step"
            ]
          },
          "id": {
            "description": "unique identifier for the step",
            "type": "string"
          },
          "title": {
            "description": "title of the step",
            "type": "string",
            "maxLength": 50
          },
          "next": {
            "description": "indicates if the user can progress to the next step based on some internal validation or condition",
            "type": "boolean",
            "default": false
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            },
            "minItems": 1
          }
        },
        "required": [
          "type",
          "id",
          "children"
        ]
      },
      "ContentKitBlockControl": {
        "type": "object",
        "description": "Control menu item displayed for the block.",
        "properties": {
          "icon": {
            "$ref": "#/components/schemas/ContentKitIcon"
          },
          "label": {
            "type": "string"
          },
          "onPress": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "confirm": {
            "$ref": "#/components/schemas/ContentKitConfirm"
          }
        },
        "required": [
          "label",
          "onPress"
        ]
      },
      "ContentKitBlock": {
        "type": "object",
        "description": "Higher level element to represent a custom block.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "block"
            ]
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          },
          "controls": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/ContentKitBlockControl"
                },
                {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContentKitBlockControl"
                  }
                }
              ]
            }
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitModal": {
        "type": "object",
        "description": "Overlay modal.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "modal"
            ]
          },
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitInlineElement"
            }
          },
          "size": {
            "type": "string",
            "enum": [
              "medium",
              "xlarge",
              "fullscreen"
            ]
          },
          "returnValue": {
            "description": "Data passed back to the parent view when the modal is closed. These data are accessible in the \"@ui.modal.close\"",
            "type": "object"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitDescendantElement"
            }
          },
          "submit": {
            "$ref": "#/components/schemas/ContentKitButton"
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitStepper": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "stepper"
            ]
          },
          "activeStep": {
            "type": "string",
            "description": "id of the currently active step"
          },
          "onStepChange": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "onComplete": {
            "$ref": "#/components/schemas/ContentKitAction"
          },
          "children": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentKitStepperStep"
            },
            "minItems": 1
          }
        },
        "required": [
          "type",
          "activeStep",
          "onStepChange",
          "onComplete",
          "children"
        ]
      },
      "ContentKitConfiguration": {
        "type": "object",
        "description": "Higher level element to define a configuration block. Does not add any UI elements or wrappers. Must be used as a top level element for any configuration component.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "configuration"
            ]
          },
          "children": {
            "oneOf": [
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContentKitStepper"
                },
                "minItems": 1,
                "maxItems": 1
              },
              {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContentKitDescendantElement"
                },
                "minItems": 1
              }
            ]
          }
        },
        "required": [
          "type",
          "children"
        ]
      },
      "ContentKitRootElement": {
        "description": "Element used as root",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentKitBlock"
          },
          {
            "$ref": "#/components/schemas/ContentKitModal"
          },
          {
            "$ref": "#/components/schemas/ContentKitConfiguration"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "ContentKitRenderOutputElement": {
        "type": "object",
        "description": "Output of type element in the lifecycle of the component.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "element"
            ]
          },
          "element": {
            "$ref": "#/components/schemas/ContentKitRootElement"
          },
          "state": {
            "type": "object"
          },
          "props": {
            "$ref": "#/components/schemas/PlainObject"
          }
        },
        "required": [
          "element",
          "state",
          "props"
        ]
      },
      "ContentKitRenderOutputComplete": {
        "type": "object",
        "description": "Output of completed lifecycle of the component.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "complete"
            ]
          },
          "returnValue": {
            "type": "object"
          }
        },
        "required": [
          "type"
        ]
      },
      "ContentKitRenderOutput": {
        "type": "object",
        "description": "Output of the integration when rendering a UI.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ContentKitRenderOutputElement"
          },
          {
            "$ref": "#/components/schemas/ContentKitRenderOutputComplete"
          }
        ]
      },
      "RenderIntegrationUI": {
        "type": "object",
        "properties": {
          "componentId": {
            "type": "string",
            "description": "ID of the component to render in the integration."
          },
          "props": {
            "description": "Current properties of the UI.",
            "$ref": "#/components/schemas/PlainObject"
          },
          "state": {
            "type": "object",
            "description": "Current local state of the UI."
          },
          "context": {
            "$ref": "#/components/schemas/ContentKitContext"
          },
          "action": {
            "$ref": "#/components/schemas/ContentKitAction"
          }
        },
        "required": [
          "componentId",
          "props",
          "context"
        ]
      },
      "UpdateIntegrationInstallation": {
        "type": "object",
        "properties": {
          "externalIds": {
            "$ref": "#/components/schemas/IntegrationInstallationExternalIds"
          },
          "configuration": {
            "$ref": "#/components/schemas/IntegrationInstallationConfiguration"
          },
          "space_selection": {
            "$ref": "#/components/schemas/IntegrationInstallationSpaceSelection"
          },
          "site_selection": {
            "$ref": "#/components/schemas/IntegrationInstallationSiteSelection"
          }
        }
      },
      "APITemporaryToken": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "Temporary access token to authenticate with the API"
          }
        },
        "required": [
          "token"
        ]
      },
      "UpdateIntegrationSpaceInstallation": {
        "type": "object",
        "properties": {
          "externalIds": {
            "$ref": "#/components/schemas/IntegrationInstallationExternalIds"
          },
          "configuration": {
            "$ref": "#/components/schemas/IntegrationInstallationConfiguration"
          }
        }
      },
      "UpdateIntegrationSiteInstallation": {
        "type": "object",
        "properties": {
          "externalIds": {
            "$ref": "#/components/schemas/IntegrationInstallationExternalIds"
          },
          "configuration": {
            "$ref": "#/components/schemas/IntegrationInstallationConfiguration"
          }
        }
      },
      "CreateOrganization": {
        "type": "object",
        "properties": {
          "title": {
            "$ref": "#/components/schemas/OrganizationTitle"
          },
          "emailDomains": {
            "$ref": "#/components/schemas/OrganizationEmailDomains"
          },
          "type": {
            "$ref": "#/components/schemas/OrganizationType"
          },
          "useCase": {
            "$ref": "#/components/schemas/OrganizationUseCase"
          }
        },
        "required": [
          "title"
        ]
      },
      "SiteSectionTitle": {
        "type": "string",
        "description": "Title of the site section",
        "minLength": 2,
        "maxLength": 128
      },
      "LocalizedString": {
        "type": "object",
        "description": "Localized string value, keyed by locale. Contains overrides for non-default languages only.",
        "x-typescript": "Partial<Record<TranslationLanguage, string>>",
        "additionalProperties": {
          "type": "string",
          "maxLength": 128
        },
        "propertyNames": {
          "$ref": "#/components/schemas/TranslationLanguage"
        }
      },
      "SiteSectionDescription": {
        "type": "string",
        "description": "Description of the site section",
        "minLength": 0,
        "maxLength": 256
      },
      "LocalizedSectionDescription": {
        "type": "object",
        "description": "Localized section description value, keyed by locale. Contains overrides for non-default languages only.",
        "x-typescript": "Partial<Record<TranslationLanguage, string>>",
        "additionalProperties": {
          "type": "string",
          "maxLength": 256
        },
        "propertyNames": {
          "$ref": "#/components/schemas/TranslationLanguage"
        }
      },
      "SiteSectionPath": {
        "type": "string",
        "description": "Path to the section on the site",
        "minLength": 1,
        "maxLength": 100
      },
      "SiteSpacePath": {
        "type": "string",
        "description": "Path to the space on the site",
        "minLength": 1,
        "maxLength": 100
      },
      "SiteSpace": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The object type, which is always \"site-space\"",
            "enum": [
              "site-space"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the site-space"
          },
          "path": {
            "$ref": "#/components/schemas/SiteSpacePath"
          },
          "section": {
            "type": "string",
            "description": "ID of the section the space belongs to in the site"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "title": {
            "type": "string"
          },
          "localizedTitle": {
            "$ref": "#/components/schemas/LocalizedString"
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default space for the site"
          },
          "condition": {
            "description": "Conditional expression used to evaluate whether the site space should be shown to the site's visitor.",
            "$ref": "#/components/schemas/Expression"
          },
          "hasAdvancedCustomizationFeature": {
            "type": "boolean",
            "description": "Whether the space has advanced customization feature enabled"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "published": {
                "type": "string",
                "description": "URL of the published version of the site-space. Only defined when site is published.",
                "format": "uri"
              }
            }
          },
          "hidden": {
            "type": "boolean",
            "description": "Whether the site space is hidden. If true, the site space will not be shown in the site's navigation."
          }
        },
        "required": [
          "object",
          "id",
          "space",
          "title",
          "path",
          "urls"
        ]
      },
      "SiteSection": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The object type, which is always \"site-section\"",
            "enum": [
              "site-section"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the site section"
          },
          "title": {
            "$ref": "#/components/schemas/SiteSectionTitle"
          },
          "localizedTitle": {
            "$ref": "#/components/schemas/LocalizedString"
          },
          "description": {
            "$ref": "#/components/schemas/SiteSectionDescription"
          },
          "localizedDescription": {
            "$ref": "#/components/schemas/LocalizedSectionDescription"
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default section for the site"
          },
          "path": {
            "$ref": "#/components/schemas/SiteSectionPath"
          },
          "condition": {
            "description": "Conditional expression used to evaluate whether the site section should be shown to the site's visitor.",
            "$ref": "#/components/schemas/Expression"
          },
          "sectionGroup": {
            "type": "string",
            "description": "ID of the section group the section belongs to in the site"
          },
          "siteSpaces": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteSpace"
            }
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "published": {
                "type": "string",
                "description": "URL of the published version of the site section. Only defined when site is published.",
                "format": "uri"
              }
            }
          },
          "icon": {
            "$ref": "#/components/schemas/Icon"
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "path",
          "siteSpaces",
          "urls"
        ]
      },
      "SiteSectionGroupTitle": {
        "type": "string",
        "description": "Title of the site section group",
        "minLength": 1,
        "maxLength": 100
      },
      "SiteSectionGroup": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The object type, which is always \"site-section-group\"",
            "enum": [
              "site-section-group"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the site section group"
          },
          "title": {
            "$ref": "#/components/schemas/SiteSectionGroupTitle"
          },
          "localizedTitle": {
            "$ref": "#/components/schemas/LocalizedString"
          },
          "sections": {
            "type": "array",
            "deprecated": true,
            "description": "List of site section ids that are members of the group. Use `children` instead.",
            "items": {
              "$ref": "#/components/schemas/SiteSection"
            }
          },
          "sectionGroup": {
            "type": "string",
            "description": "ID of the parent section group this group belongs to"
          },
          "children": {
            "type": "array",
            "description": "List of all child sections and groups nested under this group",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/SiteSection"
                },
                {
                  "$ref": "#/components/schemas/SiteSectionGroup"
                }
              ]
            }
          },
          "icon": {
            "$ref": "#/components/schemas/Icon"
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "sections",
          "children"
        ]
      },
      "SiteStructure": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "sections"
                ]
              },
              "structure": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SiteSection"
                    },
                    {
                      "$ref": "#/components/schemas/SiteSectionGroup"
                    }
                  ]
                }
              }
            },
            "required": [
              "type",
              "structure"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "siteSpaces"
                ]
              },
              "structure": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteSpace"
                }
              }
            },
            "required": [
              "type",
              "structure"
            ]
          }
        ]
      },
      "OrganizationAllSite": {
        "type": "object",
        "properties": {
          "site": {
            "$ref": "#/components/schemas/Site"
          },
          "structure": {
            "$ref": "#/components/schemas/SiteStructure"
          }
        },
        "required": [
          "site",
          "structure"
        ]
      },
      "OrganizationAllCollection": {
        "type": "object",
        "properties": {
          "collection": {
            "$ref": "#/components/schemas/Collection"
          },
          "content": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/OrganizationAllCollection"
                },
                {
                  "$ref": "#/components/schemas/OrganizationAllSpace"
                }
              ]
            }
          }
        },
        "required": [
          "collection",
          "content"
        ]
      },
      "OrganizationAllSpace": {
        "type": "object",
        "properties": {
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "space"
        ]
      },
      "OrganizationAllContent": {
        "type": "object",
        "properties": {
          "sites": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationAllSite"
            }
          },
          "spaces": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/OrganizationAllCollection"
                },
                {
                  "$ref": "#/components/schemas/OrganizationAllSpace"
                }
              ]
            }
          },
          "deletedSpaces": {
            "description": "List of soft-deleted spaces.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OrganizationAllSpace"
            }
          }
        },
        "required": [
          "sites",
          "spaces",
          "deletedSpaces"
        ]
      },
      "MemberContentPermission": {
        "type": "object",
        "description": "Permission of a member in a content.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "space": {
            "$ref": "#/components/schemas/Space"
          }
        },
        "required": [
          "permission",
          "space"
        ]
      },
      "TeamMemberRole": {
        "type": "string",
        "description": "\"The role of a team member.\n\"owner\": Can manage team members.\n\"member\": Is a member of the team.\n",
        "enum": [
          "owner",
          "member"
        ]
      },
      "TeamMember": {
        "type": "object",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/TeamMemberRole"
          }
        },
        "required": [
          "role"
        ]
      },
      "OrganizationTeamMember": {
        "type": "object",
        "description": "A member of a team in an organization, including its relationship to it",
        "properties": {
          "organization": {
            "description": "User information as an organization member",
            "$ref": "#/components/schemas/OrganizationMember"
          },
          "team": {
            "description": "User information as a team member",
            "$ref": "#/components/schemas/TeamMember"
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the team member",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the team member"
              }
            },
            "required": [
              "view"
            ]
          }
        },
        "required": [
          "organization",
          "team",
          "permissions"
        ]
      },
      "UpdateMembersInOrganizationTeam": {
        "type": "object",
        "properties": {
          "add": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A user to add. It can either be a user ID or an email."
            }
          },
          "memberships": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/TeamMember"
            }
          },
          "remove": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A user to remove. It can either be a user ID or an email."
            }
          }
        }
      },
      "Email": {
        "type": "string",
        "format": "email",
        "description": "User email",
        "example": "contact@gitbook.com"
      },
      "InviteUsersToOrganization": {
        "type": "object",
        "properties": {
          "emails": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/Email",
                  "description": "The email address of the user to invite as a member"
                },
                {
                  "type": "object",
                  "properties": {
                    "email": {
                      "description": "The email address of the user to invite as a member",
                      "$ref": "#/components/schemas/Email"
                    },
                    "role": {
                      "$ref": "#/components/schemas/MemberRoleOrGuest"
                    }
                  },
                  "required": [
                    "email",
                    "role"
                  ]
                }
              ]
            }
          },
          "role": {
            "description": "Default role to set on newly invited members.",
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "sso": {
            "description": "If true, invites the user as an SSO user of the organization. Defaults to false.",
            "type": "boolean"
          }
        },
        "required": [
          "emails"
        ]
      },
      "InviteLinkToCollection": {
        "type": "object",
        "description": "An invite link to a specific collection in an organization",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"invite\"",
            "enum": [
              "invite"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the invite link to the collection"
          },
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The level of the member in the target collection"
          },
          "redundant": {
            "type": "boolean",
            "description": "An invite is redundant if the requesting user already has all necessary permissions."
          },
          "collection": {
            "$ref": "#/components/schemas/Collection",
            "description": "The collection the member has been invited to"
          }
        },
        "required": [
          "object",
          "id",
          "level",
          "redundant",
          "collection"
        ]
      },
      "InviteLinkToSpace": {
        "type": "object",
        "description": "An invite link to a specific space in an organization",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"invite\"",
            "enum": [
              "invite"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the invite link to the space"
          },
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The level of the member in the target space"
          },
          "redundant": {
            "type": "boolean",
            "description": "An invite is redundant if the requesting user already has all necessary permissions."
          },
          "space": {
            "$ref": "#/components/schemas/Space",
            "description": "The space the member has been invited to"
          }
        },
        "required": [
          "object",
          "id",
          "level",
          "redundant",
          "space"
        ]
      },
      "InviteLinkToOrganization": {
        "type": "object",
        "description": "An invite link to an organization",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"invite\"",
            "enum": [
              "invite"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the invite link to the organization"
          },
          "role": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The role in the organization the invite link is for"
          },
          "redundant": {
            "type": "boolean",
            "description": "An invite is redundant if the requesting user already has all necessary permissions."
          }
        },
        "required": [
          "object",
          "id",
          "role",
          "redundant"
        ]
      },
      "CreateInviteToOrganization": {
        "type": "object",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The role of the member in the organization"
          }
        },
        "required": [
          "role"
        ]
      },
      "CreateInviteToSpace": {
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The level of the member in the target space"
          },
          "space": {
            "type": "string",
            "description": "The ID of space the member has been invited to"
          }
        },
        "required": [
          "level",
          "space"
        ]
      },
      "CreateInviteToCollection": {
        "type": "object",
        "properties": {
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest",
            "description": "The level of the member in the target collection"
          },
          "collection": {
            "type": "string",
            "description": "The ID of collection the member has been invited to"
          }
        },
        "required": [
          "level",
          "collection"
        ]
      },
      "CreateOrganizationInvite": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/CreateInviteToOrganization"
          },
          {
            "$ref": "#/components/schemas/CreateInviteToSpace"
          },
          {
            "$ref": "#/components/schemas/CreateInviteToCollection"
          }
        ]
      },
      "OrganizationInviteLink": {
        "type": "object",
        "description": "An invite link created in an organization",
        "oneOf": [
          {
            "$ref": "#/components/schemas/InviteLinkToOrganization"
          },
          {
            "$ref": "#/components/schemas/InviteLinkToSpace"
          },
          {
            "$ref": "#/components/schemas/InviteLinkToCollection"
          }
        ]
      },
      "SubscriptionChanges": {
        "type": "object",
        "description": "Changes to apply during a subscription upgrade or downgrade",
        "properties": {
          "removeMembers": {
            "description": "A list of member identifiers to be removed",
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "updateSites": {
            "description": "A list of site updates to be applied before upgrading.  If a site is not present in this list, it'll be upgraded to whichever type matches its features and its published status will be unchanged. When downgrading to a lower type all relevant paid features will be disabled before applying the new type.\n",
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The site identifier",
                      "type": "string"
                    },
                    "type": {
                      "description": "The site type to migrate to",
                      "$ref": "#/components/schemas/SiteType"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "type"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The site identifier",
                      "type": "string"
                    },
                    "isPublished": {
                      "description": "Can be set to `false` or `true` to either unpublish or publish a site",
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "isPublished"
                  ]
                },
                {
                  "type": "object",
                  "properties": {
                    "id": {
                      "description": "The site identifier",
                      "type": "string"
                    },
                    "type": {
                      "description": "The site type to migrate to",
                      "$ref": "#/components/schemas/SiteType"
                    },
                    "isPublished": {
                      "description": "Can be set to `false` or `true` to either unpublish or publish a site",
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "type",
                    "isPublished"
                  ]
                }
              ]
            }
          }
        },
        "required": [
          "removeMembers",
          "updateSites"
        ]
      },
      "BillingCoupon": {
        "type": "string",
        "description": "Coupon or promotion code to apply to billing operations.",
        "minLength": 1,
        "maxLength": 500
      },
      "UpgradeOrganizationBilling": {
        "type": "object",
        "properties": {
          "product": {
            "$ref": "#/components/schemas/BillingProduct"
          },
          "interval": {
            "$ref": "#/components/schemas/BillingInterval"
          },
          "changes": {
            "$ref": "#/components/schemas/SubscriptionChanges"
          },
          "reason": {
            "type": "string",
            "description": "Reason that triggered the billing upgrade"
          },
          "coupon": {
            "$ref": "#/components/schemas/BillingCoupon",
            "description": "Coupon or promotion code to apply to the subscription"
          },
          "mode": {
            "type": "string",
            "description": "Mode to use for the upgrade (default value is `commit`): - `auto`: user is redirect to checkout if possible, other a preview of the auto-upgrade is returned. - `commit`: a checkout session is returned or an auto-upgrade is done - `preview`: a preview invoice is always returned\n",
            "enum": [
              "auto",
              "commit",
              "preview"
            ]
          }
        },
        "required": [
          "product",
          "interval"
        ]
      },
      "BillingInvoicePreview": {
        "type": "object",
        "properties": {
          "amount": {
            "description": "Amount of the invoice",
            "type": "number"
          },
          "amountDueToday": {
            "description": "Amount that will be immediately charged.",
            "type": "number"
          },
          "customerBalance": {
            "description": "Current balance, if any, being stored on the customer. If positive, the customer has credit to apply to their next invoice.",
            "type": "number"
          },
          "remainingCustomerBalance": {
            "description": "Current balance after potential upgrade.",
            "type": "number"
          },
          "lines": {
            "type": "array",
            "description": "Details of the change happening on the subscription.",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "string"
                },
                "amount": {
                  "type": "number"
                },
                "periodStart": {
                  "$ref": "#/components/schemas/Timestamp"
                },
                "periodEnd": {
                  "$ref": "#/components/schemas/Timestamp"
                }
              },
              "required": [
                "amount",
                "description",
                "periodStart",
                "periodEnd"
              ]
            }
          },
          "discounts": {
            "type": "array",
            "description": "Discounts applied to the subscription.",
            "items": {
              "type": "object",
              "properties": {
                "description": {
                  "description": "The description of the applied discount.",
                  "type": "string"
                },
                "amount": {
                  "description": "The amount of the applied discount.",
                  "type": "number"
                }
              },
              "required": [
                "amount",
                "description"
              ]
            }
          }
        },
        "required": [
          "amount",
          "amountDueToday",
          "customerBalance",
          "remainingCustomerBalance",
          "lines"
        ]
      },
      "BillingUpgrade": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "string",
                "enum": [
                  "checkout"
                ]
              },
              "sessionId": {
                "type": "string",
                "description": "Stripe payment session ID"
              }
            },
            "required": [
              "result",
              "sessionId"
            ]
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "string",
                "enum": [
                  "preview"
                ]
              },
              "invoice": {
                "$ref": "#/components/schemas/BillingInvoicePreview"
              }
            },
            "required": [
              "result",
              "invoice"
            ]
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "string",
                "enum": [
                  "upgraded"
                ]
              }
            },
            "required": [
              "result"
            ]
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "string",
                "enum": [
                  "downgraded"
                ]
              }
            },
            "required": [
              "result"
            ]
          },
          {
            "type": "object",
            "properties": {
              "result": {
                "type": "string",
                "enum": [
                  "interval_changed"
                ]
              }
            },
            "required": [
              "result"
            ]
          }
        ]
      },
      "MigrateOrganizationParameters": {
        "type": "object",
        "properties": {
          "interval": {
            "description": "The desired billing interval",
            "$ref": "#/components/schemas/BillingInterval"
          },
          "product": {
            "type": "string",
            "description": "The new product to upgrade to",
            "enum": [
              "free_2024",
              "plus_2024",
              "pro_2024"
            ]
          },
          "changes": {
            "$ref": "#/components/schemas/SubscriptionChanges"
          }
        },
        "required": [
          "product",
          "interval",
          "changes"
        ]
      },
      "Error": {
        "type": "object",
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "type": "object",
            "properties": {
              "code": {
                "type": "integer",
                "format": "int32"
              },
              "message": {
                "type": "string"
              }
            },
            "required": [
              "code",
              "message"
            ]
          }
        }
      },
      "BillingDiscount": {
        "type": "object",
        "properties": {
          "duration": {
            "description": "How many months the discount will last",
            "type": "number"
          },
          "percentOff": {
            "description": "Percent that will be deducted from the subtotal of the invoice",
            "type": "number"
          }
        },
        "required": [
          "duration",
          "percentOff"
        ]
      },
      "SitePageviews": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-pageviews"
            ]
          },
          "siteId": {
            "type": "string",
            "description": "The identifier of the site"
          },
          "pageviews": {
            "description": "Number of pageviews in the past 30 days",
            "type": "number"
          }
        },
        "required": [
          "object",
          "siteId",
          "pageviews"
        ]
      },
      "BillingPortal": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL to the billing portal for an organization"
          }
        },
        "required": [
          "url"
        ]
      },
      "BillingSwitchAction": {
        "type": "string",
        "enum": [
          "trial",
          "upgrade",
          "upgrade_passive",
          "downgrade",
          "switch_interval"
        ]
      },
      "BillingMeter": {
        "type": "string",
        "description": "Identifier of a billing meter",
        "enum": [
          "ai_responses",
          "ai_agent_responses",
          "translation_words"
        ]
      },
      "BillingMeterUsage": {
        "type": "object",
        "description": "Usage metrics for a billing meter",
        "properties": {
          "total": {
            "description": "Total usage for the current billing period",
            "type": "number"
          },
          "entries": {
            "description": "Usage entries for the period",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "date": {
                  "$ref": "#/components/schemas/Timestamp"
                },
                "value": {
                  "type": "number",
                  "description": "Usage value for the date"
                }
              },
              "required": [
                "date",
                "value"
              ]
            }
          }
        },
        "required": [
          "total",
          "entries"
        ]
      },
      "SearchSpaceResult": {
        "type": "object",
        "description": "Search result representing a space.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "space"
            ]
          },
          "id": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "score": {
            "$ref": "#/components/schemas/SearchResultScore"
          },
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SearchPageResult"
            }
          }
        },
        "required": [
          "type",
          "id",
          "title",
          "score",
          "pages"
        ]
      },
      "CreateSpace": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "title": {
                "type": "string",
                "maxLength": 50
              },
              "emoji": {
                "$ref": "#/components/schemas/Emoji"
              },
              "parent": {
                "type": "string",
                "description": "ID of a parent collection"
              },
              "language": {
                "$ref": "#/components/schemas/TranslationLanguage"
              },
              "editMode": {
                "$ref": "#/components/schemas/SpaceEditMode",
                "description": "The edit mode of the space"
              }
            }
          },
          {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "oneOf": [
                  {
                    "type": "object",
                    "description": "Create a space from a template",
                    "required": [
                      "template"
                    ],
                    "properties": {
                      "template": {
                        "$ref": "#/components/schemas/ApplySpaceTemplate"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "description": "Create a space from a computed content source",
                    "required": [
                      "computedSource"
                    ],
                    "properties": {
                      "computedSource": {
                        "$ref": "#/components/schemas/ComputedContentSourceRevision"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "description": "Create a completely empty space (no page in it)",
                    "required": [
                      "empty"
                    ],
                    "properties": {
                      "empty": {
                        "type": "boolean",
                        "enum": [
                          true
                        ]
                      }
                    }
                  }
                ]
              }
            ]
          }
        ]
      },
      "InstalledIntegration": {
        "type": "object",
        "description": "An installed integration with its current status",
        "required": [
          "status",
          "integration"
        ],
        "properties": {
          "status": {
            "$ref": "#/components/schemas/IntegrationInstallationStatus"
          },
          "integration": {
            "$ref": "#/components/schemas/Integration"
          }
        }
      },
      "SAMLProviderLabel": {
        "type": "string",
        "minLength": 1,
        "maxLength": 30
      },
      "SAMLProviderEntityID": {
        "type": "string",
        "maxLength": 1024
      },
      "SAMLProviderCertificate": {
        "type": "string",
        "maxLength": 10000
      },
      "SAMLProviderStatus": {
        "type": "string",
        "description": "Status of the provider.\n- `active`: The provider is active and can be used to authenticate users.\n- `pending`: The provider is pending and is not yet fully configured.\n",
        "enum": [
          "active",
          "pending"
        ]
      },
      "OrganizationSAMLProvider": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"saml-provider\"",
            "enum": [
              "saml-provider"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the provider."
          },
          "label": {
            "$ref": "#/components/schemas/SAMLProviderLabel"
          },
          "ssoURL": {
            "$ref": "#/components/schemas/URL"
          },
          "entityID": {
            "$ref": "#/components/schemas/SAMLProviderEntityID"
          },
          "certificate": {
            "$ref": "#/components/schemas/SAMLProviderCertificate"
          },
          "defaultTeam": {
            "$ref": "#/components/schemas/OrganizationTeam"
          },
          "defaultRole": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "createdAt": {
            "description": "Date at which the provider was created.",
            "$ref": "#/components/schemas/Timestamp"
          },
          "status": {
            "$ref": "#/components/schemas/SAMLProviderStatus"
          },
          "service": {
            "description": "Metadata about the service provider.",
            "properties": {
              "acsURL": {
                "type": "string",
                "description": "Assertion Consumer Service (ACS) URL",
                "format": "uri"
              },
              "startURL": {
                "type": "string",
                "description": "Start URL for the Identity Provider",
                "format": "uri"
              },
              "entityID": {
                "$ref": "#/components/schemas/SAMLProviderEntityID"
              }
            },
            "required": [
              "acsURL",
              "startURL",
              "entityID"
            ]
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the SAML Provider in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "label",
          "ssoURL",
          "entityID",
          "certificate",
          "defaultRole",
          "createdAt",
          "status",
          "service",
          "urls"
        ]
      },
      "OrganizationSSOProviderLogin": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier for the provider."
          },
          "label": {
            "$ref": "#/components/schemas/SAMLProviderLabel"
          },
          "startURL": {
            "type": "string",
            "description": "The starting login URL for the Identity Provider",
            "format": "uri"
          }
        },
        "required": [
          "id",
          "label",
          "startURL"
        ]
      },
      "OrganizationUsageSpaces": {
        "type": "object",
        "description": "Spaces usage metrics of an organization",
        "properties": {
          "total": {
            "description": "Count of all spaces",
            "type": "number"
          }
        },
        "required": [
          "total"
        ]
      },
      "OrganizationUsageCollections": {
        "type": "object",
        "description": "Collections usage metrics of an organization",
        "properties": {
          "total": {
            "description": "Count of all collections",
            "type": "number"
          }
        },
        "required": [
          "total"
        ]
      },
      "OrganizationUsageSites": {
        "type": "object",
        "description": "Sites usage metrics of an organization",
        "oneOf": [
          {
            "properties": {
              "total": {
                "description": "Count of all sites",
                "type": "number"
              },
              "legacyBasic": {
                "description": "Count of all legacy basic sites",
                "type": "number"
              },
              "legacyPremium": {
                "description": "Count of all legacy premium sites",
                "type": "number"
              }
            },
            "required": [
              "total",
              "legacyBasic",
              "legacyPremium"
            ]
          },
          {
            "properties": {
              "total": {
                "description": "Count of all sites",
                "type": "number"
              },
              "basic": {
                "description": "Count of all basic sites",
                "type": "number"
              },
              "premium": {
                "description": "Count of all premium sites",
                "type": "number"
              },
              "ultimate": {
                "description": "Count of all ultimate sites",
                "type": "number"
              },
              "sponsored": {
                "description": "Count of all sponsored sites",
                "type": "number"
              }
            },
            "required": [
              "total",
              "basic",
              "premium",
              "ultimate",
              "sponsored"
            ]
          }
        ]
      },
      "OrganizationUsageTeams": {
        "type": "object",
        "description": "Team members usage metrics of an organization",
        "properties": {
          "total": {
            "description": "Count of all teams",
            "type": "number"
          }
        },
        "required": [
          "total"
        ]
      },
      "OrganizationUsageMembers": {
        "type": "object",
        "description": "Members usage metrics of an organization",
        "properties": {
          "total": {
            "description": "Count of all members",
            "type": "number"
          },
          "seats": {
            "description": "Count of all paid seats",
            "type": "number"
          },
          "admin": {
            "description": "Count of all admins",
            "type": "number"
          },
          "create": {
            "description": "Count of all creators",
            "type": "number"
          },
          "edit": {
            "description": "Count of all editors",
            "type": "number"
          },
          "review": {
            "description": "Count of all reviewers",
            "type": "number"
          },
          "comment": {
            "description": "Count of all commenters",
            "type": "number"
          },
          "read": {
            "description": "Count of all readers",
            "type": "number"
          },
          "guest": {
            "description": "Count of all guests",
            "type": "number"
          }
        },
        "required": [
          "total",
          "seats",
          "admin",
          "create",
          "edit",
          "review",
          "comment",
          "read",
          "guest"
        ]
      },
      "OrganizationUsageTeamMembers": {
        "type": "object",
        "description": "Team members usage metrics of an organization",
        "properties": {
          "total": {
            "description": "Count of all organization members in a team",
            "type": "number"
          },
          "owner": {
            "description": "Count of all team owners",
            "type": "number"
          },
          "member": {
            "description": "Count of all team members",
            "type": "number"
          }
        },
        "required": [
          "total",
          "owner",
          "member"
        ]
      },
      "OrganizationUsage": {
        "type": "object",
        "description": "All usage metrics of an organization",
        "properties": {
          "spaces": {
            "$ref": "#/components/schemas/OrganizationUsageSpaces"
          },
          "collections": {
            "$ref": "#/components/schemas/OrganizationUsageCollections"
          },
          "sites": {
            "$ref": "#/components/schemas/OrganizationUsageSites"
          },
          "teams": {
            "$ref": "#/components/schemas/OrganizationUsageTeams"
          },
          "members": {
            "$ref": "#/components/schemas/OrganizationUsageMembers"
          },
          "teamMembers": {
            "$ref": "#/components/schemas/OrganizationUsageTeamMembers"
          },
          "permissions": {
            "type": "object",
            "description": "The set of permissions for the organization's usage.",
            "required": [
              "view"
            ],
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Can the user view the organization's usage."
              }
            }
          }
        },
        "required": [
          "spaces",
          "collections",
          "sites",
          "teams",
          "members",
          "teamMembers",
          "permissions"
        ]
      },
      "SearchAIQuery": {
        "type": "object",
        "properties": {
          "query": {
            "type": "string"
          },
          "previousQueries": {
            "type": "array",
            "deprecated": true,
            "maxItems": 10,
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "query"
        ]
      },
      "SearchAIAnswerSourcePage": {
        "type": "object",
        "title": "Page source",
        "description": "The source points to a page in a space.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page"
            ]
          },
          "reason": {
            "type": "string",
            "description": "Short explanation of how the source was used to answer."
          },
          "page": {
            "type": "string",
            "description": "The page ID of the source."
          },
          "revision": {
            "type": "string",
            "description": "The revision ID where the page was extracted from."
          },
          "space": {
            "type": "string",
            "description": "The space ID owning the page."
          },
          "sections": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The IDs of the sections of the page that were used to answer the question."
          }
        },
        "required": [
          "type",
          "page",
          "revision",
          "space",
          "sections"
        ]
      },
      "SearchAIAnswerSourceRecord": {
        "type": "object",
        "title": "Site context record source",
        "description": "The source points to an ingested site context record.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "record"
            ]
          },
          "reason": {
            "type": "string",
            "description": "Short explanation of how the source was used to answer."
          },
          "record": {
            "type": "string",
            "description": "The context record ID of the source."
          },
          "site": {
            "type": "string",
            "description": "The site ID owning the source record."
          },
          "title": {
            "type": "string",
            "description": "The title of the source record."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "The source URL of the context record."
          }
        },
        "required": [
          "type",
          "record",
          "site",
          "title",
          "url"
        ]
      },
      "SearchAIAnswerSource": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SearchAIAnswerSourcePage"
          },
          {
            "$ref": "#/components/schemas/SearchAIAnswerSourceRecord"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "SearchAIAnswer": {
        "type": "object",
        "description": "Answer from AI for a question asked on a content.",
        "properties": {
          "answer": {
            "$ref": "#/components/schemas/Document"
          },
          "followupQuestions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "sources": {
            "type": "array",
            "description": "The sources used to generate the answer.",
            "items": {
              "$ref": "#/components/schemas/SearchAIAnswerSource"
            }
          }
        },
        "required": [
          "sources",
          "followupQuestions"
        ]
      },
      "SearchAIRecommendedQuestions": {
        "type": "object",
        "description": "Questions recommended by the AI for the given content.",
        "properties": {
          "questions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "questions"
        ]
      },
      "SearchAIRecommendedQuestionStream": {
        "type": "object",
        "properties": {
          "question": {
            "type": "string"
          }
        },
        "required": [
          "question"
        ]
      },
      "SearchAIAnswerStream": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "answer"
            ]
          },
          "answer": {
            "$ref": "#/components/schemas/SearchAIAnswer"
          }
        },
        "required": [
          "type",
          "answer"
        ]
      },
      "OpenAPISpecSource": {
        "oneOf": [
          {
            "description": "Create a specification from an URL",
            "type": "object",
            "properties": {
              "url": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "url"
            ]
          },
          {
            "description": "Create a specification from a text string",
            "type": "object",
            "properties": {
              "text": {
                "description": "OpenAPI specification as text",
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "text"
            ]
          }
        ]
      },
      "OpenAPISpecVersion": {
        "type": "object",
        "properties": {
          "object": {
            "description": "The object type, which is always \"openapi-spec-version\"",
            "type": "string",
            "enum": [
              "openapi-spec-version"
            ]
          },
          "id": {
            "description": "Unique identifier",
            "type": "string"
          },
          "createdAt": {
            "description": "Date of creation",
            "$ref": "#/components/schemas/Timestamp"
          },
          "url": {
            "description": "URL where the specification is accessible.",
            "$ref": "#/components/schemas/URL"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "description": "URL of the OpenAPI specification version in the API",
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "url",
          "urls"
        ]
      },
      "OpenAPISpecContent": {
        "description": "Content of the specification available through filesystem or public URL.",
        "type": "object",
        "properties": {
          "filesystem": {
            "description": "Filesystem containing all specifications.",
            "type": "object"
          },
          "urls": {
            "description": "URLs associated with the specification content.",
            "type": "object",
            "properties": {
              "source": {
                "$ref": "#/components/schemas/URL"
              },
              "public": {
                "description": "Publicly accessible URL for the specification. Available for public specs (proxy URL for stored specs, source URL for external specs). Null for private specs. Can be used for the \"Try it\" feature.",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/URL"
                  }
                ]
              }
            },
            "required": [
              "source",
              "public"
            ]
          }
        },
        "required": [
          "filesystem",
          "urls"
        ]
      },
      "OrganizationAgentInstructions": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "agent-instructions"
            ]
          },
          "instructions": {
            "$ref": "#/components/schemas/JSONDocument",
            "description": "Document containing the Docs agent instructions."
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedBy": {
            "type": "string",
            "description": "Identifier of the member who last updated the instructions."
          },
          "urls": {
            "type": "object",
            "description": "URLs related to the custom instructions.",
            "properties": {
              "location": {
                "type": "string",
                "description": "Relative URL to the resource in the API."
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "instructions",
          "updatedAt",
          "updatedBy",
          "urls"
        ]
      },
      "TranslationStatus": {
        "type": "string",
        "enum": [
          "pending",
          "running",
          "completed"
        ]
      },
      "TranslationSource": {
        "type": "object",
        "required": [
          "space",
          "language"
        ],
        "properties": {
          "space": {
            "type": "string",
            "description": "ID of the source space"
          },
          "language": {
            "$ref": "#/components/schemas/TranslationLanguage"
          }
        }
      },
      "Translation": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "translation"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the translation sync"
          },
          "status": {
            "$ref": "#/components/schemas/TranslationStatus"
          },
          "source": {
            "$ref": "#/components/schemas/TranslationSource"
          },
          "language": {
            "$ref": "#/components/schemas/TranslationLanguage"
          },
          "instructions": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "result": {
            "$ref": "#/components/schemas/TranslationResult"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "stats": {
            "type": "object",
            "properties": {
              "runs": {
                "type": "integer",
                "description": "Total number of times the translation has been run"
              },
              "totalWords": {
                "type": "integer",
                "description": "Total number of words translated"
              },
              "totalPages": {
                "type": "integer",
                "description": "Total number of unique pages translated"
              },
              "totalDuration": {
                "type": "integer",
                "description": "Total duration of all runs (in seconds)"
              },
              "latestRunDuration": {
                "type": "integer",
                "description": "Duration of the latest run (in seconds)"
              },
              "latestPages": {
                "type": "integer",
                "description": "Number of unique pages translated in the latest run"
              },
              "latestWords": {
                "type": "integer",
                "description": "Number of words translated in the latest run"
              }
            },
            "required": [
              "runs",
              "totalWords",
              "totalPages",
              "totalDuration",
              "latestRunDuration",
              "latestPages",
              "latestWords"
            ]
          },
          "permissions": {
            "type": "object",
            "properties": {
              "view": {
                "type": "boolean",
                "description": "Whether the user can view the object"
              },
              "edit": {
                "type": "boolean",
                "description": "Whether the user can edit the object"
              }
            },
            "required": [
              "view",
              "edit"
            ]
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the translation settings in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "status",
          "source",
          "language",
          "instructions",
          "createdAt",
          "updatedAt",
          "stats",
          "permissions",
          "urls"
        ]
      },
      "GlossaryTranslations": {
        "type": "object",
        "additionalProperties": {
          "type": "string",
          "minLength": 1,
          "maxLength": 255,
          "pattern": "^[^\\n\\r]*$"
        },
        "description": "Mapping of language codes to translated terms"
      },
      "GlossaryEntry": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "glossary-entry"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier of the glossary entry"
          },
          "translations": {
            "$ref": "#/components/schemas/GlossaryTranslations"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "urls": {
            "type": "object",
            "properties": {
              "location": {
                "type": "string",
                "format": "uri",
                "description": "URL of the glossary entry in the API"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "translations",
          "createdAt",
          "updatedAt",
          "urls"
        ]
      },
      "GlossaryBatchOperation": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "insert"
                ]
              },
              "translations": {
                "$ref": "#/components/schemas/GlossaryTranslations"
              }
            },
            "required": [
              "type",
              "translations"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "update"
                ]
              },
              "id": {
                "type": "string"
              },
              "translations": {
                "$ref": "#/components/schemas/GlossaryTranslations"
              }
            },
            "required": [
              "type",
              "id",
              "translations"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "delete"
                ]
              },
              "id": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "id"
            ]
          }
        ]
      },
      "StorageFileMetadata": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Original filename"
          },
          "type": {
            "type": "string",
            "description": "MIME type of the file"
          },
          "size": {
            "type": "number",
            "description": "Size of the file in bytes"
          }
        },
        "required": [
          "name",
          "type",
          "size"
        ]
      },
      "StorageUploadKind": {
        "type": "string",
        "enum": [
          "customization_font",
          "import_file"
        ]
      },
      "StorageUploadURL": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "The kind of file to upload",
            "enum": [
              "storage-signed-url"
            ]
          },
          "url": {
            "$ref": "#/components/schemas/URL",
            "description": "Presigned URL for uploading the file"
          },
          "key": {
            "type": "string",
            "description": "The bucket object key for the file"
          }
        },
        "required": [
          "object",
          "url",
          "key"
        ]
      },
      "FontFamily": {
        "type": "string",
        "description": "The human-readable font-family name used in CSS (e.g., \"Open Sans\", \"Playfair Display\").",
        "minLength": 1,
        "maxLength": 50
      },
      "FontWeight": {
        "type": "integer",
        "description": "Numeric representation of the font weight (400=regular, 500=medium, 700=bold, 900=black).",
        "minimum": 1,
        "maximum": 1000
      },
      "FontSource": {
        "type": "object",
        "description": "A font file referenced within a font-face declaration, specifying the file's location and format.",
        "properties": {
          "url": {
            "description": "The absolute or relative URL pointing to the font file.",
            "$ref": "#/components/schemas/URL"
          },
          "format": {
            "type": "string",
            "description": "The format of the font file. Prefer 'woff2' for modern browsers.",
            "enum": [
              "woff2",
              "woff"
            ]
          }
        },
        "required": [
          "url"
        ]
      },
      "FontFace": {
        "type": "object",
        "description": "A single font-face declaration specifying the weight and source files for a particular variation of the font.",
        "properties": {
          "weight": {
            "$ref": "#/components/schemas/FontWeight"
          },
          "sources": {
            "type": "array",
            "description": "Font source files provided in supported formats (e.g., woff2, woff).",
            "items": {
              "$ref": "#/components/schemas/FontSource"
            },
            "minItems": 1
          }
        },
        "required": [
          "weight",
          "sources"
        ]
      },
      "CustomizationFontDefinitionInput": {
        "type": "object",
        "description": "Defines a font family along with its various font-face declarations for use in CSS '@font-face' rules.",
        "properties": {
          "id": {
            "type": "string",
            "description": "A globally unique identifier for the font definition."
          },
          "custom": {
            "type": "boolean",
            "description": "Whether the font is a custom font. If false, this font is provided by GitBook."
          },
          "fontFamily": {
            "$ref": "#/components/schemas/FontFamily"
          },
          "fontFaces": {
            "type": "array",
            "description": "A list of font-face definitions, specifying variations such as weight and style.",
            "items": {
              "$ref": "#/components/schemas/FontFace"
            },
            "minItems": 1
          }
        },
        "required": [
          "id",
          "custom",
          "fontFamily",
          "fontFaces"
        ]
      },
      "CustomizationFontDefinition": {
        "allOf": [
          {
            "$ref": "#/components/schemas/CustomizationFontDefinitionInput"
          },
          {
            "type": "object",
            "properties": {
              "permissions": {
                "type": "object",
                "description": "The set of permissions for the font definition",
                "properties": {
                  "edit": {
                    "type": "boolean",
                    "description": "Can the user edit the font definition"
                  }
                },
                "required": [
                  "edit"
                ]
              }
            },
            "required": [
              "permissions"
            ]
          }
        ]
      },
      "StorageFileKey": {
        "type": "string",
        "description": "The path of the file in the storage bucket",
        "minLength": 1,
        "maxLength": 512
      },
      "ContentImportSource": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "website"
                ]
              },
              "url": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "type",
              "url"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "file"
                ]
              },
              "files": {
                "description": "Files to import",
                "type": "array",
                "maxItems": 50,
                "items": {
                  "description": "Key of file",
                  "type": "string"
                }
              }
            },
            "required": [
              "type",
              "files"
            ]
          }
        ]
      },
      "ContentImportTarget": {
        "type": "object",
        "properties": {
          "space": {
            "type": "string",
            "description": "ID of the space to import in"
          },
          "changeRequest": {
            "type": "string",
            "description": "ID of the change request to import in"
          },
          "page": {
            "type": "string",
            "description": "ID of the page to import in"
          }
        },
        "required": [
          "space"
        ]
      },
      "ContentImportRun": {
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique ID of the import",
            "type": "string"
          },
          "startedAt": {
            "description": "Date when the import has started",
            "$ref": "#/components/schemas/Timestamp"
          },
          "completedAt": {
            "description": "Filled when the imported is in status \"completed\"",
            "$ref": "#/components/schemas/Timestamp"
          },
          "status": {
            "description": "Status of the import",
            "type": "string",
            "enum": [
              "pending",
              "in-progress",
              "completed",
              "failed",
              "cancelled"
            ]
          },
          "pages": {
            "description": "Pages included in the import",
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "description": "ID of page",
                  "type": "string"
                },
                "sourceURL": {
                  "description": "Source URL where the page has been imported from",
                  "type": "string"
                },
                "type": {
                  "description": "Type of page",
                  "type": "string",
                  "enum": [
                    "page",
                    "folder"
                  ]
                },
                "status": {
                  "description": "Status of the page",
                  "type": "string",
                  "enum": [
                    "complete",
                    "pending"
                  ]
                }
              },
              "required": [
                "id",
                "type",
                "status"
              ]
            }
          }
        },
        "required": [
          "id",
          "status"
        ]
      },
      "SitePublishOperationPreviewResponse": {
        "description": "A response to a request to preview the publishing of a site. It indicates whether the operation can proceed immediately, requires checkout, if a trial is available or if a trial extension is available.\n",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "User can go ahead with the operation without any additional steps. Their subscription will be updated to reflect the new changes.",
                "type": "string",
                "enum": [
                  "go-ahead"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "By going ahead with this operation, the user will be starting a trial in GitBook.",
                "type": "string",
                "enum": [
                  "trial-available"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "The organization is eligible for an additional trial when publishing the site.",
                "type": "string",
                "enum": [
                  "extended-trial-available"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "User must checkout to complete the operation.",
                "type": "string",
                "enum": [
                  "checkout"
                ]
              },
              "invoice": {
                "$ref": "#/components/schemas/BillingInvoicePreview"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "SiteAdaptiveDeterministicJSONSchemaPrimitives": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "boolean"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "description"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "string"
                ]
              },
              "enum": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "enum",
              "description"
            ],
            "additionalProperties": false
          }
        ]
      },
      "SiteAdaptiveJSONSchemaPrimitives": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteAdaptiveDeterministicJSONSchemaPrimitives"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "string"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "description"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "number"
                ]
              },
              "description": {
                "type": "string"
              }
            },
            "required": [
              "type",
              "description"
            ],
            "additionalProperties": false
          }
        ]
      },
      "SiteAdaptiveJSONSchemaClaimsProperties": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteAdaptiveJSONSchemaPrimitives"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "array"
                ]
              },
              "description": {
                "type": "string"
              },
              "items": {
                "$ref": "#/components/schemas/SiteAdaptiveJSONSchemaPrimitives"
              }
            },
            "required": [
              "type",
              "description",
              "items"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              },
              "description": {
                "type": "string"
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/SiteAdaptiveJSONSchemaClaimsProperties"
                }
              },
              "additionalProperties": {
                "type": "boolean",
                "enum": [
                  false
                ]
              }
            },
            "required": [
              "type",
              "description",
              "properties",
              "additionalProperties"
            ],
            "additionalProperties": false
          }
        ]
      },
      "SiteAdaptiveJSONSchema": {
        "type": "object",
        "description": "JSON schema describing the expected attributes of an Adaptive site schema.",
        "properties": {
          "$schema": {
            "type": "string",
            "enum": [
              "http://json-schema.org/draft-07/schema#"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "object"
            ]
          },
          "properties": {
            "type": "object",
            "properties": {
              "unsigned": {
                "type": "object",
                "description": "Unsigned claims of the site visitor.",
                "properties": {
                  "type": {
                    "type": "string",
                    "enum": [
                      "object"
                    ]
                  },
                  "description": {
                    "type": "string",
                    "enum": [
                      "Unsigned claims of the site visitor."
                    ]
                  },
                  "properties": {
                    "type": "object",
                    "additionalProperties": {
                      "$ref": "#/components/schemas/SiteAdaptiveJSONSchemaClaimsProperties"
                    }
                  },
                  "additionalProperties": {
                    "type": "boolean",
                    "enum": [
                      false
                    ]
                  }
                },
                "required": [
                  "type",
                  "description",
                  "properties",
                  "additionalProperties"
                ]
              }
            },
            "additionalProperties": {
              "$ref": "#/components/schemas/SiteAdaptiveJSONSchemaClaimsProperties"
            }
          },
          "additionalProperties": {
            "type": "boolean",
            "enum": [
              false
            ]
          }
        },
        "required": [
          "type",
          "properties",
          "additionalProperties"
        ],
        "additionalProperties": false
      },
      "SiteAdaptiveSchema": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-adaptive-schema"
            ]
          },
          "jsonSchema": {
            "$ref": "#/components/schemas/SiteAdaptiveJSONSchema"
          },
          "updatedAt": {
            "description": "When the adaptive schema was updated.",
            "$ref": "#/components/schemas/Timestamp"
          }
        },
        "required": [
          "object",
          "jsonSchema",
          "updatedAt"
        ]
      },
      "SiteAdaptiveTemplateCondition": {
        "type": "object",
        "description": "A template condition based on the site visitor schema.",
        "properties": {
          "description": {
            "type": "string",
            "description": "A short description of the suggested condition."
          },
          "condition": {
            "type": "string",
            "description": "The suggested condition."
          }
        },
        "required": [
          "description",
          "condition"
        ]
      },
      "CustomizationTheme": {
        "type": "string",
        "description": "The theme to apply to the site. Supercedes the old header preset themes.\n- `clean`: Modern theme featuring translucency and minimally-styled elements.\n- `muted`: Sophisticated theme with decreased contrast between elements.\n- `bold`: High-impact theme with prominent colors and strong contrasts.\n- `gradient`: Trendy theme featuring colorful gradients and splashes of color.\n",
        "enum": [
          "clean",
          "muted",
          "bold",
          "gradient"
        ]
      },
      "Color": {
        "type": "string",
        "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$"
      },
      "CustomizationThemedColor": {
        "type": "object",
        "properties": {
          "light": {
            "$ref": "#/components/schemas/Color"
          },
          "dark": {
            "$ref": "#/components/schemas/Color"
          }
        },
        "required": [
          "light",
          "dark"
        ]
      },
      "CustomizationTint": {
        "type": "object",
        "properties": {
          "color": {
            "$ref": "#/components/schemas/CustomizationThemedColor"
          }
        },
        "required": [
          "color"
        ]
      },
      "CustomizationCorners": {
        "type": "string",
        "enum": [
          "straight",
          "rounded",
          "circular"
        ]
      },
      "CustomizationDepth": {
        "type": "string",
        "description": "The degree of visual depth (through shadows, gradients and elevation effects) of elements on the site.\n- `subtle`: Subtle shadows and minimal elevation.\n- `flat`: Flat elements, no shadows and no elevation.\n",
        "enum": [
          "subtle",
          "flat"
        ]
      },
      "CustomizationLinksStyle": {
        "type": "string",
        "description": "The style used for regular links in the main content, header and footer. Sidebar items are styled separately.\n- `default`: Links are colored in the primary color and feature an underline in the same color.\n- `accent`: Links are colored the same as body text and feature an underline in the primary color.\n",
        "enum": [
          "default",
          "accent"
        ]
      },
      "CustomizationDefaultFont": {
        "type": "string",
        "enum": [
          "ABCFavorit",
          "Inter",
          "Roboto",
          "RobotoSlab",
          "OpenSans",
          "SourceSansPro",
          "Lato",
          "Ubuntu",
          "Raleway",
          "Merriweather",
          "Overpass",
          "NotoSans",
          "IBMPlexSerif",
          "Poppins",
          "FiraSans"
        ]
      },
      "CustomizationFont": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/CustomizationDefaultFont"
          },
          {
            "$ref": "#/components/schemas/CustomizationFontDefinitionInput"
          }
        ]
      },
      "CustomizationDefaultMonospaceFont": {
        "type": "string",
        "enum": [
          "FiraCode",
          "IBMPlexMono",
          "JetBrainsMono",
          "SourceCodePro",
          "RobotoMono",
          "SpaceMono",
          "DMMono",
          "Inconsolata"
        ]
      },
      "CustomizationMonospaceFont": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/CustomizationDefaultMonospaceFont"
          },
          {
            "$ref": "#/components/schemas/CustomizationFontDefinitionInput"
          }
        ]
      },
      "CustomizationBackground": {
        "type": "string",
        "enum": [
          "plain",
          "match"
        ],
        "deprecated": true,
        "description": "The background style has been deprecated and will be removed in a future release. Use the `tint` settings instead."
      },
      "CustomizationIconsStyle": {
        "type": "string",
        "enum": [
          "regular",
          "solid",
          "duotone",
          "light",
          "thin"
        ]
      },
      "CustomizationCodeTheme": {
        "type": "string",
        "enum": [
          "default-light",
          "default-dark",
          "monochrome-light",
          "monochrome-dark",
          "andromeeda",
          "aurora-x",
          "ayu-dark",
          "catppuccin-frappe",
          "catppuccin-latte",
          "catppuccin-macchiato",
          "catppuccin-mocha",
          "dark-plus",
          "dracula",
          "dracula-soft",
          "everforest-dark",
          "everforest-light",
          "github-dark",
          "github-dark-default",
          "github-dark-dimmed",
          "github-dark-high-contrast",
          "github-light",
          "github-light-default",
          "github-light-high-contrast",
          "gruvbox-dark-hard",
          "gruvbox-dark-medium",
          "gruvbox-dark-soft",
          "gruvbox-light-hard",
          "gruvbox-light-medium",
          "gruvbox-light-soft",
          "houston",
          "kanagawa-dragon",
          "kanagawa-lotus",
          "kanagawa-wave",
          "laserwave",
          "light-plus",
          "material-theme",
          "material-theme-darker",
          "material-theme-lighter",
          "material-theme-ocean",
          "material-theme-palenight",
          "min-dark",
          "min-light",
          "monokai",
          "night-owl",
          "nord",
          "one-dark-pro",
          "one-light",
          "plastic",
          "poimandres",
          "red",
          "rose-pine",
          "rose-pine-dawn",
          "rose-pine-moon",
          "slack-dark",
          "slack-ochin",
          "snazzy-light",
          "solarized-dark",
          "solarized-light",
          "synthwave-84",
          "tokyo-night",
          "vesper",
          "vitesse-black",
          "vitesse-dark",
          "vitesse-light"
        ]
      },
      "CustomizationThemedCodeTheme": {
        "type": "object",
        "properties": {
          "light": {
            "$ref": "#/components/schemas/CustomizationCodeTheme"
          },
          "dark": {
            "$ref": "#/components/schemas/CustomizationCodeTheme"
          }
        },
        "required": [
          "light",
          "dark"
        ]
      },
      "CustomizationSidebarBackgroundStyle": {
        "type": "string",
        "description": "- `default`: No background, content sits directly against sidebar edge.\n- `filled`: Muted background color that extends to sidebar edges.\n",
        "enum": [
          "default",
          "filled"
        ]
      },
      "CustomizationSidebarListStyle": {
        "type": "string",
        "description": "- `default`: Simple list items without special styling, groups are inset with a line.\n- `pill`: Rounded capsule shape around selected/active items.\n- `line`: Continuous line next to all items, with colored line part for selected/active items.\n",
        "enum": [
          "default",
          "pill",
          "line"
        ]
      },
      "CustomizationSearchStyle": {
        "type": "string",
        "description": "The style of the search button.\n- `prominent`: large search bar in the middle of the header, with less room for other header items,\n- `subtle`: small search bar in the corner of the header, with more room for other header items.\n",
        "enum": [
          "prominent",
          "subtle"
        ]
      },
      "CustomizationLocale": {
        "type": "string",
        "description": "Language for the UI element",
        "deprecated": true,
        "enum": [
          "en",
          "fr",
          "es",
          "zh",
          "ja",
          "de",
          "nl",
          "no",
          "pt-br",
          "ru"
        ]
      },
      "CustomizationHeaderPreset": {
        "type": "string",
        "deprecated": true,
        "description": "The header preset to use for the site. This is a legacy setting and the site styling theme should be used instead.",
        "enum": [
          "default",
          "bold",
          "contrast",
          "custom",
          "none"
        ]
      },
      "CustomizationContentLinkTitle": {
        "type": "string",
        "maxLength": 64
      },
      "CustomizationContentLink": {
        "type": "object",
        "properties": {
          "title": {
            "$ref": "#/components/schemas/CustomizationContentLinkTitle"
          },
          "to": {
            "$ref": "#/components/schemas/ContentRef"
          }
        },
        "required": [
          "title",
          "to"
        ]
      },
      "CustomizationHeaderItem": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "style": {
            "type": "string",
            "enum": [
              "link",
              "button-primary",
              "button-secondary"
            ]
          },
          "to": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ContentRef"
              },
              {
                "type": "null"
              }
            ]
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationContentLink"
            }
          },
          "condition": {
            "description": "Conditional expression used to evaluate whether the header item should be shown to the site's visitor.",
            "$ref": "#/components/schemas/Expression"
          }
        },
        "required": [
          "title",
          "links",
          "to"
        ]
      },
      "CustomizationFooterGroup": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string"
          },
          "links": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CustomizationContentLink"
            }
          }
        },
        "required": [
          "title",
          "links"
        ]
      },
      "CustomizationAnnouncementMessage": {
        "description": "The text content of the announcement.",
        "type": "string",
        "minLength": 2,
        "maxLength": 128
      },
      "CustomizationAnnouncement": {
        "type": "object",
        "properties": {
          "enabled": {
            "description": "Whether to show the site's announcement.",
            "type": "boolean"
          },
          "message": {
            "$ref": "#/components/schemas/CustomizationAnnouncementMessage"
          },
          "link": {
            "description": "The content or URL the announcement links to when clicked.",
            "$ref": "#/components/schemas/CustomizationContentLink"
          },
          "style": {
            "description": "The style of the announcement. Used to style the banner with the right semantic color and enable/disable features like hiding the banner.",
            "type": "string",
            "enum": [
              "info",
              "warning",
              "danger",
              "success"
            ]
          }
        },
        "required": [
          "enabled",
          "message",
          "style"
        ]
      },
      "CustomizationThemeMode": {
        "type": "string",
        "enum": [
          "light",
          "dark"
        ]
      },
      "CustomizationAIMode": {
        "type": "string",
        "enum": [
          "none",
          "search",
          "assistant"
        ]
      },
      "CustomizationSuggestedQuestion": {
        "type": "string",
        "minLength": 3,
        "maxLength": 64
      },
      "CustomizationSuggestedQuestions": {
        "type": "array",
        "description": "Suggested questions to display at the start of the chosen AI mode.",
        "items": {
          "$ref": "#/components/schemas/CustomizationSuggestedQuestion"
        },
        "maxItems": 5
      },
      "SiteExternalLinksTarget": {
        "type": "string",
        "description": "How external links should open when clicked.\n- `self`: External links open in the current tab.\n- `blank`: External links open in a new browser tab.\n",
        "enum": [
          "self",
          "blank"
        ]
      },
      "SiteSocialAccountPlatform": {
        "description": "The platform of the social handle.",
        "type": "string",
        "enum": [
          "twitter",
          "instagram",
          "facebook",
          "linkedin",
          "github",
          "discord",
          "slack",
          "youtube",
          "tiktok",
          "reddit",
          "bluesky",
          "mastodon",
          "threads",
          "medium"
        ]
      },
      "SiteSocialAccountHandle": {
        "description": "A handle on a social platform, without prefixes like the @ symbol.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      },
      "SiteSocialAccount": {
        "type": "object",
        "properties": {
          "platform": {
            "$ref": "#/components/schemas/SiteSocialAccountPlatform"
          },
          "handle": {
            "$ref": "#/components/schemas/SiteSocialAccountHandle"
          },
          "display": {
            "type": "object",
            "properties": {
              "footer": {
                "type": "boolean",
                "default": true
              },
              "header": {
                "type": "boolean",
                "default": false
              }
            },
            "required": [
              "footer",
              "header"
            ]
          }
        },
        "required": [
          "platform",
          "handle",
          "display"
        ]
      },
      "SiteSocialAccounts": {
        "type": "array",
        "description": "The social accounts of the site.",
        "items": {
          "$ref": "#/components/schemas/SiteSocialAccount"
        },
        "maxItems": 10
      },
      "SiteCustomizationSettingsBase": {
        "type": "object",
        "properties": {
          "title": {
            "description": "Title to use for the published site. If not defined, it'll fallback to the default content title.",
            "$ref": "#/components/schemas/SiteTitle"
          },
          "styling": {
            "type": "object",
            "properties": {
              "theme": {
                "$ref": "#/components/schemas/CustomizationTheme"
              },
              "primaryColor": {
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "tint": {
                "$ref": "#/components/schemas/CustomizationTint"
              },
              "infoColor": {
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "successColor": {
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "warningColor": {
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "dangerColor": {
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "corners": {
                "$ref": "#/components/schemas/CustomizationCorners"
              },
              "depth": {
                "$ref": "#/components/schemas/CustomizationDepth"
              },
              "links": {
                "$ref": "#/components/schemas/CustomizationLinksStyle"
              },
              "font": {
                "$ref": "#/components/schemas/CustomizationFont"
              },
              "monospaceFont": {
                "$ref": "#/components/schemas/CustomizationMonospaceFont"
              },
              "background": {
                "deprecated": true,
                "$ref": "#/components/schemas/CustomizationBackground"
              },
              "icons": {
                "$ref": "#/components/schemas/CustomizationIconsStyle"
              },
              "codeTheme": {
                "type": "object",
                "properties": {
                  "default": {
                    "$ref": "#/components/schemas/CustomizationThemedCodeTheme"
                  },
                  "openapi": {
                    "$ref": "#/components/schemas/CustomizationThemedCodeTheme"
                  }
                },
                "required": [
                  "default",
                  "openapi"
                ]
              },
              "sidebar": {
                "type": "object",
                "properties": {
                  "background": {
                    "$ref": "#/components/schemas/CustomizationSidebarBackgroundStyle"
                  },
                  "list": {
                    "$ref": "#/components/schemas/CustomizationSidebarListStyle"
                  }
                },
                "required": [
                  "background",
                  "list"
                ]
              },
              "search": {
                "$ref": "#/components/schemas/CustomizationSearchStyle"
              }
            },
            "required": [
              "theme",
              "primaryColor",
              "infoColor",
              "successColor",
              "warningColor",
              "dangerColor",
              "corners",
              "depth",
              "links",
              "font",
              "monospaceFont",
              "codeTheme",
              "background",
              "icons",
              "sidebar",
              "search"
            ]
          },
          "internationalization": {
            "type": "object",
            "deprecated": true,
            "properties": {
              "locale": {
                "$ref": "#/components/schemas/CustomizationLocale"
              }
            },
            "required": [
              "locale"
            ]
          },
          "favicon": {
            "$ref": "#/components/schemas/CustomizationFavicon"
          },
          "header": {
            "type": "object",
            "properties": {
              "preset": {
                "$ref": "#/components/schemas/CustomizationHeaderPreset"
              },
              "logo": {
                "$ref": "#/components/schemas/CustomizationThemedURL"
              },
              "primaryLink": {
                "description": "Destination to open when visitors click the site title/logo in the header.",
                "$ref": "#/components/schemas/ContentRef"
              },
              "backgroundColor": {
                "deprecated": true,
                "description": "Color of the background in the header. This value is now deprecated in favour of the new theming colors.",
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "linkColor": {
                "deprecated": true,
                "description": "Color of the links in the header. This value is now deprecated and will be phased out in favour of the new theming colors.",
                "$ref": "#/components/schemas/CustomizationThemedColor"
              },
              "links": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomizationHeaderItem"
                }
              }
            },
            "required": [
              "preset",
              "links"
            ]
          },
          "footer": {
            "type": "object",
            "properties": {
              "logo": {
                "$ref": "#/components/schemas/CustomizationThemedURL"
              },
              "groups": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/CustomizationFooterGroup"
                }
              },
              "copyright": {
                "type": "string",
                "maxLength": 300
              }
            },
            "required": [
              "groups"
            ]
          },
          "announcement": {
            "$ref": "#/components/schemas/CustomizationAnnouncement"
          },
          "themes": {
            "description": "Customization options for the dark/light theme modes.\n",
            "type": "object",
            "properties": {
              "default": {
                "$ref": "#/components/schemas/CustomizationThemeMode"
              },
              "toggeable": {
                "description": "Should the reader be able to switch between dark and light mode",
                "type": "boolean"
              }
            },
            "required": [
              "default",
              "toggeable"
            ]
          },
          "pdf": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "If true, PDF export is enabled for the published site."
              }
            },
            "required": [
              "enabled"
            ]
          },
          "feedback": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "If true, feedback gathering is enabled"
              }
            },
            "required": [
              "enabled"
            ]
          },
          "ai": {
            "type": "object",
            "properties": {
              "mode": {
                "$ref": "#/components/schemas/CustomizationAIMode"
              },
              "suggestions": {
                "$ref": "#/components/schemas/CustomizationSuggestedQuestions"
              }
            },
            "required": [
              "mode"
            ]
          },
          "advancedCustomization": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "If true, Advanced customization is enabled"
              }
            },
            "required": [
              "enabled"
            ]
          },
          "git": {
            "type": "object",
            "properties": {
              "showEditLink": {
                "type": "boolean",
                "description": "Whether the published site should show a link to edit the content on the git provider set up in the Git Sync"
              }
            },
            "required": [
              "showEditLink"
            ]
          },
          "pageActions": {
            "type": "object",
            "properties": {
              "externalAI": {
                "type": "boolean",
                "description": "Whether actions to open ChatGPT, Anthropic, etc. should be available in the page menu."
              },
              "markdown": {
                "type": "boolean",
                "description": "Whether the copy and open the markdown version of the page should be available in the page menu."
              },
              "mcp": {
                "type": "boolean",
                "description": "Whether an action to connect to the docs using the MCP server should be available in the page menu."
              }
            },
            "required": [
              "externalAI",
              "markdown",
              "mcp"
            ]
          },
          "externalLinks": {
            "type": "object",
            "properties": {
              "target": {
                "$ref": "#/components/schemas/SiteExternalLinksTarget"
              }
            },
            "required": [
              "target"
            ]
          },
          "pagination": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "Whether the pagination navigation should be displayed on pages."
              }
            },
            "required": [
              "enabled"
            ]
          },
          "trademark": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean",
                "description": "Whether the GitBook trademark (\"Powered by GitBook\") should be visible"
              }
            },
            "required": [
              "enabled"
            ]
          },
          "privacyPolicy": {
            "type": "object",
            "properties": {
              "url": {
                "$ref": "#/components/schemas/URL"
              }
            }
          },
          "socialPreview": {
            "type": "object",
            "properties": {
              "url": {
                "$ref": "#/components/schemas/URL"
              }
            }
          },
          "socialAccounts": {
            "$ref": "#/components/schemas/SiteSocialAccounts"
          },
          "insights": {
            "type": "object",
            "properties": {
              "trackingCookie": {
                "type": "boolean",
                "description": "Whether GitBook identifies the visitor on the site using a cookie.",
                "default": true
              }
            },
            "required": [
              "trackingCookie"
            ]
          }
        },
        "required": [
          "styling",
          "internationalization",
          "favicon",
          "header",
          "footer",
          "themes",
          "pdf",
          "feedback",
          "ai",
          "advancedCustomization",
          "trademark",
          "externalLinks",
          "pagination",
          "pageActions",
          "git",
          "privacyPolicy",
          "socialPreview",
          "socialAccounts",
          "insights"
        ]
      },
      "SiteCustomizationSettings": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteCustomizationSettingsBase"
          },
          {
            "type": "object",
            "properties": {
              "updatedAt": {
                "description": "When the customization settings were updated. If missing, customization was not updated.",
                "$ref": "#/components/schemas/Timestamp"
              }
            }
          }
        ]
      },
      "SiteIntegrationScript": {
        "type": "object",
        "properties": {
          "script": {
            "description": "Script URL to load.",
            "$ref": "#/components/schemas/URL"
          },
          "contentSecurityPolicy": {
            "description": "Content Security Policy to secure the loading of this script.",
            "type": "string"
          },
          "cookies": {
            "type": "boolean",
            "description": "If true, the script will potentially load use cookies and visitors should be aware."
          }
        },
        "required": [
          "script",
          "cookies"
        ]
      },
      "PublishedContentSite": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "published-content-site"
            ]
          },
          "site": {
            "$ref": "#/components/schemas/Site"
          },
          "structure": {
            "$ref": "#/components/schemas/SiteStructure"
          },
          "customizations": {
            "type": "object",
            "properties": {
              "site": {
                "$ref": "#/components/schemas/SiteCustomizationSettings"
              },
              "siteSpaces": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/SiteCustomizationSettings"
                }
              }
            },
            "required": [
              "site",
              "siteSpaces"
            ]
          },
          "scripts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteIntegrationScript"
            }
          }
        },
        "required": [
          "object",
          "site",
          "structure",
          "customizations",
          "scripts"
        ]
      },
      "ShareLinkName": {
        "type": "string",
        "description": "Name of the share link",
        "minLength": 0,
        "maxLength": 50
      },
      "ShareLink": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "description": "Type of Object, always equals to \"share-link\"",
            "enum": [
              "share-link"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the share-link"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "name": {
            "$ref": "#/components/schemas/ShareLinkName"
          },
          "active": {
            "type": "boolean"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "published": {
                "type": "string",
                "description": "URL of the published version of the share-link.",
                "format": "uri"
              }
            }
          }
        },
        "required": [
          "object",
          "id",
          "createdAt",
          "urls"
        ]
      },
      "SiteStructureItemPointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "site-space",
              "site-section",
              "site-section-group"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the site structure item (site space, site section or site section group)."
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "SiteStructureItemMovePosition": {
        "type": "object",
        "description": "Position at which to move the site structure item (site space, site section or site section group).",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/SiteStructureItemPointer"
          },
          "after": {
            "$ref": "#/components/schemas/SiteStructureItemPointer"
          }
        }
      },
      "SiteStructureItem": {
        "title": "Site Structure Item",
        "type": "object",
        "description": "A site structure item can be a site space, a site section or a site section group.\nIt is used to represent the structure of a site.\n",
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteSpace"
          },
          {
            "$ref": "#/components/schemas/SiteSection"
          },
          {
            "$ref": "#/components/schemas/SiteSectionGroup"
          }
        ]
      },
      "BillingOperationPreviewResponse": {
        "description": "A response to a request to preview a paid operation or action. A user might preview an operation before executing it to see which billing steps would be required (if any). This schema defines the response of that preview request.\n",
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "User can go ahead with the operation without any additional steps. Their subscription will be updated to reflect the new changes.",
                "type": "string",
                "enum": [
                  "go-ahead"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "By going ahead with this operation, the user will be starting a trial in GitBook.",
                "type": "string",
                "enum": [
                  "trial-available"
                ]
              }
            },
            "required": [
              "type"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "description": "User must checkout to complete the operation.",
                "type": "string",
                "enum": [
                  "checkout"
                ]
              },
              "invoice": {
                "$ref": "#/components/schemas/BillingInvoicePreview"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "SiteUpgradeReason": {
        "type": "string",
        "description": "The reason or feature that triggered the site upgrade",
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteFeatureKey"
          },
          {
            "type": "string",
            "enum": [
              "settings",
              "billing-page",
              "end-of-trial"
            ]
          }
        ]
      },
      "SitePublishingAuth": {
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/VisitorAuthCustomBackend"
              },
              {
                "$ref": "#/components/schemas/VisitorAuthIntegrationBackend"
              }
            ]
          },
          {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "description": "Type of Object, always equals to \"publishing-auth\"",
                "enum": [
                  "publishing-auth"
                ]
              },
              "privateKey": {
                "type": "string",
                "description": "Private key used to sign JWT tokens."
              },
              "fallbackURL": {
                "type": "string",
                "format": "uri",
                "description": "URL to redirect to when the authenticated access secret is invalid."
              },
              "integration": {
                "type": "string",
                "description": "Name of the authenticated access integration installed on the site (if any).\nIt is also the one being used as VA backend when the published auth settings are configured to use \"integration\" as backend.\n"
              }
            },
            "required": [
              "object",
              "privateKey"
            ]
          }
        ]
      },
      "SitePublishingAuthUpdate": {
        "allOf": [
          {
            "oneOf": [
              {
                "$ref": "#/components/schemas/VisitorAuthCustomBackend"
              },
              {
                "$ref": "#/components/schemas/VisitorAuthIntegrationBackend"
              }
            ]
          },
          {
            "type": "object",
            "properties": {
              "fallbackURL": {
                "type": [
                  "string",
                  "null"
                ],
                "format": "uri",
                "description": "A fallback URL that will be used if authentication fails. If not provided, the fallback URL will not be changed. If set to null, the fallback URL will be unset."
              }
            }
          }
        ]
      },
      "SiteCustomizationSettingsInput": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteCustomizationSettingsBase"
          }
        ]
      },
      "SiteSearchScope": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "mode"
            ],
            "properties": {
              "mode": {
                "description": "Search across all sections of a site, only including the default content of each section. This scope is wide and shallow. You may optionally specify a list of additional site spaces to search in alongside the default content.\n",
                "type": "string",
                "enum": [
                  "default"
                ]
              },
              "currentSiteSpace": {
                "type": "string",
                "description": "The ID of the site space that must always be included in the search results. The language of this site space will be used to match other site spaces with the same language, if applicable.\n"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "mode",
              "siteSpaceIds"
            ],
            "properties": {
              "mode": {
                "description": "Only search in the provided site spaces.",
                "type": "string",
                "enum": [
                  "specific"
                ]
              },
              "siteSpaceIds": {
                "type": "array",
                "minLength": 1,
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "mode"
            ],
            "properties": {
              "mode": {
                "description": "Search in all sections and site spaces. This scope is wide and deep.",
                "type": "string",
                "enum": [
                  "all"
                ]
              }
            }
          }
        ]
      },
      "SearchRecordResult": {
        "type": "object",
        "description": "Search result representing a site context record.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "record"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the context record."
          },
          "title": {
            "type": "string",
            "description": "The title of the record."
          },
          "score": {
            "$ref": "#/components/schemas/SearchResultScore"
          },
          "description": {
            "type": "string",
            "description": "The description of the record."
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the record in the source system."
          }
        },
        "required": [
          "type",
          "id",
          "title",
          "score",
          "url"
        ]
      },
      "ContextRecordType": {
        "type": "string",
        "enum": [
          "ticket",
          "document"
        ]
      },
      "ContextConnector": {
        "oneOf": [
          {
            "type": "string",
            "description": "Integration source",
            "pattern": "^integration:[^:]+$",
            "x-typescript": "`integration:${string}`"
          },
          {
            "type": "string",
            "description": "Builtin sources",
            "enum": [
              "builtin:email",
              "builtin:api",
              "builtin:website",
              "builtin:youtube",
              "builtin:github-discussions",
              "builtin:github-issues",
              "builtin:intercom"
            ]
          }
        ]
      },
      "ContextRecordTitle": {
        "type": "string",
        "description": "Title for the context record",
        "minLength": 1,
        "maxLength": 256
      },
      "ContextRecordDescription": {
        "type": "string",
        "description": "Optional short description of the context record",
        "maxLength": 512
      },
      "ContextRecord": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "context-record"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the record"
          },
          "title": {
            "$ref": "#/components/schemas/ContextRecordTitle"
          },
          "description": {
            "$ref": "#/components/schemas/ContextRecordDescription"
          },
          "type": {
            "$ref": "#/components/schemas/ContextRecordType"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "processedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "connection": {
            "type": "string",
            "description": "The connection ID associated with the record"
          },
          "connector": {
            "description": "The connector type associated with the record",
            "$ref": "#/components/schemas/ContextConnector"
          },
          "topics": {
            "type": "array",
            "description": "The associated topics of the record",
            "items": {
              "type": "string"
            }
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the record",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the record in the API",
                "format": "uri"
              },
              "source": {
                "type": "string",
                "description": "URL of the record in the source",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "type",
          "createdAt",
          "connection",
          "connector",
          "urls"
        ]
      },
      "ContextRecordInput": {
        "type": "object",
        "description": "Input to ingest a new context record",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique local identifier for the record"
          },
          "type": {
            "$ref": "#/components/schemas/ContextRecordType"
          },
          "title": {
            "$ref": "#/components/schemas/ContextRecordTitle"
          },
          "description": {
            "$ref": "#/components/schemas/ContextRecordDescription"
          },
          "body": {
            "type": "string",
            "description": "Body content of the record as markdown"
          },
          "url": {
            "type": "string",
            "description": "URL of the record",
            "format": "uri"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp",
            "description": "Date of the record creation in the original source"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "oneOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          }
        },
        "required": [
          "id",
          "title",
          "body",
          "type"
        ]
      },
      "SiteIssueStatus": {
        "type": "string",
        "description": "Status of a site issue.",
        "enum": [
          "open",
          "done",
          "canceled"
        ]
      },
      "SiteIssueType": {
        "type": "string",
        "description": "Classification of a site issue:\n  - Outdated content: The content is no longer up to date with external context and may be misleading or incorrect.\n  - Incoherent content: The content contains information that is inconsistent or contradictory.\n  - Content gap: The content is missing important information that should be present to answer user questions effectively.\n  - Other: Any other type of issue not covered by the above categories.",
        "enum": [
          "content-outdated",
          "incoherence",
          "content-gap",
          "other"
        ]
      },
      "SiteIssuePriority": {
        "type": "string",
        "description": "Estimated end-user priority of a site issue.",
        "enum": [
          "low",
          "medium",
          "high"
        ]
      },
      "SiteIssueTitle": {
        "type": "string",
        "description": "Short issue title",
        "maxLength": 256
      },
      "SiteIssue": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-issue"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the issue"
          },
          "topic": {
            "type": "string",
            "description": "The site topic ID associated with the issue"
          },
          "title": {
            "$ref": "#/components/schemas/SiteIssueTitle"
          },
          "changeRequests": {
            "type": "number",
            "description": "Number of change requests linked to the issue"
          },
          "pages": {
            "type": "number",
            "description": "Number of pages linked to the issue"
          },
          "records": {
            "type": "number",
            "description": "Number of records linked to the issue"
          },
          "questions": {
            "type": "number",
            "description": "Number of questions linked to the issue"
          },
          "status": {
            "$ref": "#/components/schemas/SiteIssueStatus"
          },
          "type": {
            "$ref": "#/components/schemas/SiteIssueType"
          },
          "priority": {
            "$ref": "#/components/schemas/SiteIssuePriority"
          },
          "description": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "autoFixable": {
            "type": "boolean",
            "description": "Whether an AI agent should be able to fix this issue directly"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the issue",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the issue list endpoint in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "topic",
          "title",
          "changeRequests",
          "pages",
          "records",
          "questions",
          "status",
          "type",
          "priority",
          "description",
          "autoFixable",
          "createdAt",
          "updatedAt",
          "urls"
        ]
      },
      "SiteIssuePage": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-issue-page"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The space ID containing the linked page."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "object",
          "spaceId",
          "page"
        ]
      },
      "SiteQuestionType": {
        "type": "string",
        "description": "Type classification of the user question.",
        "enum": [
          "exploring",
          "how-to",
          "troubleshooting",
          "reference",
          "unknown"
        ]
      },
      "SiteQuestionStatsFeedback": {
        "type": "object",
        "description": "Aggregated feedback for answers linked to a site question.",
        "properties": {
          "positive": {
            "type": "number",
            "description": "Count of answers with positive feedback."
          },
          "negative": {
            "type": "number",
            "description": "Count of answers with negative feedback."
          },
          "unrated": {
            "type": "number",
            "description": "Count of answers without feedback."
          }
        },
        "required": [
          "positive",
          "negative",
          "unrated"
        ]
      },
      "SiteQuestionStatsAnswered": {
        "type": "object",
        "description": "Aggregated answered assessment for answers linked to a site question.",
        "properties": {
          "yes": {
            "type": "number",
            "description": "Count of answers assessed as fully answered."
          },
          "partially": {
            "type": "number",
            "description": "Count of answers assessed as partially answered."
          },
          "no": {
            "type": "number",
            "description": "Count of answers assessed as not answered."
          }
        },
        "required": [
          "yes",
          "partially",
          "no"
        ]
      },
      "SiteQuestionStatsRelevance": {
        "type": "object",
        "properties": {
          "relevant": {
            "type": "number"
          },
          "spam": {
            "type": "number"
          },
          "off-topic": {
            "type": "number"
          },
          "unclear": {
            "type": "number"
          }
        },
        "required": [
          "relevant",
          "spam",
          "off-topic",
          "unclear"
        ]
      },
      "SiteQuestionStatsTypes": {
        "type": "object",
        "properties": {
          "exploring": {
            "type": "number"
          },
          "how-to": {
            "type": "number"
          },
          "troubleshooting": {
            "type": "number"
          },
          "reference": {
            "type": "number"
          },
          "unknown": {
            "type": "number"
          }
        },
        "required": [
          "exploring",
          "how-to",
          "troubleshooting",
          "reference",
          "unknown"
        ]
      },
      "SiteQuestionStatsChannelTypes": {
        "type": "object",
        "description": "Count of answers by site channel type, including core channels.",
        "additionalProperties": {
          "type": "number"
        }
      },
      "SiteQuestionStatsChannels": {
        "type": "object",
        "description": "Count of answers by site channel ID.",
        "additionalProperties": {
          "type": "number"
        }
      },
      "SiteQuestionStats": {
        "type": "object",
        "description": "Aggregated stats for questions and linked answers.",
        "properties": {
          "total": {
            "type": "number",
            "description": "Total count of questions included in the aggregation."
          },
          "answers": {
            "type": "number",
            "description": "Total count of answers linked to the questions."
          },
          "feedback": {
            "$ref": "#/components/schemas/SiteQuestionStatsFeedback"
          },
          "answered": {
            "$ref": "#/components/schemas/SiteQuestionStatsAnswered"
          },
          "relevance": {
            "$ref": "#/components/schemas/SiteQuestionStatsRelevance"
          },
          "types": {
            "$ref": "#/components/schemas/SiteQuestionStatsTypes"
          },
          "channelTypes": {
            "$ref": "#/components/schemas/SiteQuestionStatsChannelTypes"
          },
          "channels": {
            "$ref": "#/components/schemas/SiteQuestionStatsChannels"
          },
          "weeklyPulse": {
            "type": "array",
            "minItems": 13,
            "maxItems": 13,
            "description": "Weekly count of related question answers for the past 3 months.",
            "items": {
              "type": "number"
            }
          }
        },
        "required": [
          "total",
          "answers",
          "feedback",
          "answered",
          "relevance",
          "types",
          "channelTypes",
          "channels",
          "weeklyPulse"
        ]
      },
      "SiteQuestion": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-question"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the site question."
          },
          "question": {
            "type": "string",
            "description": "Canonical text for the unique site question."
          },
          "type": {
            "$ref": "#/components/schemas/SiteQuestionType"
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "stats": {
            "$ref": "#/components/schemas/SiteQuestionStats"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the site question.",
            "properties": {
              "location": {
                "type": "string",
                "format": "uri",
                "description": "URL of the site question in the API."
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "question",
          "type",
          "createdAt",
          "stats",
          "urls"
        ]
      },
      "ContextConnectionLabel": {
        "type": "string",
        "description": "Optional label for the connection",
        "minLength": 0,
        "maxLength": 128
      },
      "ContextConnectionStatus": {
        "type": "string",
        "enum": [
          "pending",
          "syncing",
          "succeeded",
          "failed"
        ]
      },
      "ContextSearchBoost": {
        "type": "string",
        "description": "Relative score adjustment applied to records from a connection when searching.",
        "enum": [
          "x0.8",
          "x1.0",
          "x1.2"
        ]
      },
      "ContextUsageSettings": {
        "type": "object",
        "properties": {
          "changeRequests": {
            "type": "boolean",
            "description": "Whether to use context to propose change requests"
          },
          "search": {
            "type": "boolean",
            "description": "Whether to expose records in search results"
          },
          "searchBoost": {
            "$ref": "#/components/schemas/ContextSearchBoost"
          }
        },
        "required": [
          "changeRequests",
          "search",
          "searchBoost"
        ]
      },
      "ContextConnectorSetup": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:email"
                ]
              }
            },
            "required": [
              "connector"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:api"
                ]
              }
            },
            "required": [
              "connector"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "pattern": "^integration:[^:]+$",
                "x-typescript": "`integration:${string}`"
              }
            },
            "required": [
              "connector"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:website"
                ]
              },
              "setupSettings": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                },
                "required": [
                  "url"
                ]
              }
            },
            "required": [
              "connector",
              "setupSettings"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:youtube"
                ]
              },
              "setupSettings": {
                "type": "object",
                "properties": {
                  "channelId": {
                    "type": "string",
                    "pattern": "^UC[A-Za-z0-9_-]{22}$"
                  }
                },
                "required": [
                  "channelId"
                ]
              }
            },
            "required": [
              "connector",
              "setupSettings"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:github-discussions"
                ]
              },
              "setupSettings": {
                "type": "object",
                "properties": {
                  "repository": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
                  },
                  "token": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "repository",
                  "token"
                ]
              }
            },
            "required": [
              "connector",
              "setupSettings"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:github-issues"
                ]
              },
              "setupSettings": {
                "type": "object",
                "properties": {
                  "repository": {
                    "type": "string",
                    "pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
                  },
                  "token": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "repository",
                  "token"
                ]
              }
            },
            "required": [
              "connector",
              "setupSettings"
            ]
          },
          {
            "type": "object",
            "properties": {
              "connector": {
                "type": "string",
                "enum": [
                  "builtin:intercom"
                ]
              },
              "setupSettings": {
                "type": "object",
                "properties": {
                  "token": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "token"
                ]
              }
            },
            "required": [
              "connector",
              "setupSettings"
            ]
          }
        ]
      },
      "ContextConnection": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "enum": [
                  "context-connection"
                ]
              },
              "id": {
                "type": "string",
                "description": "The ID of the connection"
              },
              "createdAt": {
                "$ref": "#/components/schemas/Timestamp"
              },
              "syncedAt": {
                "$ref": "#/components/schemas/Timestamp"
              },
              "label": {
                "$ref": "#/components/schemas/ContextConnectionLabel"
              },
              "status": {
                "$ref": "#/components/schemas/ContextConnectionStatus"
              },
              "records": {
                "type": "integer",
                "description": "Number of records ingested from this connection"
              },
              "failureMessage": {
                "type": "string",
                "description": "Failure message when synchronization fails"
              },
              "email": {
                "type": "object",
                "description": "Parameters associated with the connection when it is an email connection",
                "properties": {
                  "ingestionAddress": {
                    "type": "string",
                    "description": "Inbound email address for the connection",
                    "format": "email"
                  }
                }
              },
              "usageSettings": {
                "$ref": "#/components/schemas/ContextUsageSettings"
              },
              "urls": {
                "type": "object",
                "description": "URLs associated with the connection",
                "properties": {
                  "location": {
                    "type": "string",
                    "description": "URL of the connection in the API",
                    "format": "uri"
                  }
                },
                "required": [
                  "location"
                ]
              }
            },
            "required": [
              "object",
              "id",
              "createdAt",
              "status",
              "records",
              "usageSettings",
              "urls"
            ]
          },
          {
            "$ref": "#/components/schemas/ContextConnectorSetup"
          }
        ]
      },
      "SiteTopicUsageSettings": {
        "type": "object",
        "properties": {
          "changeRequests": {
            "type": "boolean",
            "description": "Whether to use context to propose change requests"
          }
        },
        "required": [
          "changeRequests"
        ]
      },
      "SiteTopic": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "context-topic"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the topic"
          },
          "label": {
            "type": "string",
            "description": "The label of the topic"
          },
          "parent": {
            "type": "object",
            "description": "The parent topic when this topic is nested under another one",
            "properties": {
              "id": {
                "type": "string",
                "description": "The ID of the parent topic"
              },
              "label": {
                "type": "string",
                "description": "The label of the parent topic"
              }
            },
            "required": [
              "id",
              "label"
            ]
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "icon": {
            "$ref": "#/components/schemas/Icon"
          },
          "summary": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "usageSettings": {
            "$ref": "#/components/schemas/SiteTopicUsageSettings"
          },
          "pages": {
            "type": "number",
            "description": "The number of pages associated with the topic"
          },
          "records": {
            "type": "number",
            "description": "The number of records in the topic"
          },
          "questions": {
            "$ref": "#/components/schemas/SiteQuestionStats"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the topic",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the topic in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "label",
          "summary",
          "icon",
          "usageSettings",
          "pages",
          "records",
          "questions",
          "createdAt",
          "updatedAt",
          "urls"
        ]
      },
      "SiteQuestionAnswerResolution": {
        "type": "string",
        "description": "Whether the response answered the question.",
        "enum": [
          "no",
          "partially",
          "yes"
        ]
      },
      "SiteQuestionAnswerSourceBase": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-question-answer-source"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the source."
          },
          "weight": {
            "type": "number",
            "description": "Relative weight of this source in the generated answer."
          },
          "title": {
            "type": "string",
            "description": "The title of the source."
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the site question answer.",
            "properties": {
              "location": {
                "type": "string",
                "format": "uri",
                "description": "URL of the site question answer in the API."
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "title",
          "weight",
          "urls"
        ]
      },
      "SiteQuestionAnswerSourcePage": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteQuestionAnswerSourceBase"
          },
          {
            "type": "object",
            "title": "Page source",
            "description": "Source data pointing to a page used for a site question answer.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "page"
                ]
              },
              "space": {
                "type": "string",
                "description": "The space ID of the source page."
              },
              "revision": {
                "type": "string",
                "description": "The revision ID used for this source page."
              },
              "page": {
                "type": "string",
                "description": "The page ID of the source page."
              }
            },
            "required": [
              "type",
              "space",
              "revision",
              "page"
            ]
          }
        ]
      },
      "SiteQuestionAnswerSourceRecord": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteQuestionAnswerSourceBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "record"
                ]
              },
              "record": {
                "type": "string",
                "description": "The site context record ID."
              }
            },
            "required": [
              "type",
              "record"
            ]
          }
        ]
      },
      "SiteQuestionAnswerSource": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteQuestionAnswerSourcePage"
          },
          {
            "$ref": "#/components/schemas/SiteQuestionAnswerSourceRecord"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "SiteQuestionAnswerRelevance": {
        "type": "string",
        "description": "Relevance classification of the user question.",
        "enum": [
          "relevant",
          "spam",
          "off-topic",
          "unclear"
        ]
      },
      "SiteQuestionAnswerHelpfulness": {
        "type": "string",
        "description": "Helpfulness of the response for the end user need.",
        "enum": [
          "low",
          "medium",
          "high"
        ]
      },
      "SiteInsightsSession": {
        "type": "object",
        "description": "Identifiers for a GitBook site session, used for analytics and adaptive content.",
        "properties": {
          "visitorId": {
            "type": "string",
            "description": "GitBook's unique identifier of the visitor."
          },
          "sessionId": {
            "type": "string",
            "description": "GitBook's unique identifier of the visitor's session."
          }
        },
        "required": [
          "visitorId",
          "sessionId"
        ]
      },
      "SiteCoreChannelType": {
        "type": "string",
        "enum": [
          "site",
          "embed",
          "api"
        ]
      },
      "SiteConfigurableChannelType": {
        "type": "string",
        "enum": [
          "builtin:slack",
          "builtin:discord"
        ]
      },
      "SiteQuestionAnswer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-question-answer"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the site question answer."
          },
          "question": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The ID of the parent site question."
              },
              "type": {
                "$ref": "#/components/schemas/SiteQuestionType"
              }
            },
            "required": [
              "id",
              "type"
            ]
          },
          "topics": {
            "type": "array",
            "description": "The IDs of the associated site topics.",
            "items": {
              "type": "string"
            }
          },
          "input": {
            "type": "object",
            "properties": {
              "text": {
                "type": "string",
                "description": "Normalized question text for this answer."
              },
              "raw": {
                "type": "string",
                "description": "Raw question text as asked by the user."
              }
            }
          },
          "thread": {
            "type": "object",
            "required": [
              "id",
              "previous"
            ],
            "properties": {
              "id": {
                "type": "string",
                "description": "The ID of the thread this answer belongs to."
              },
              "previous": {
                "type": "string",
                "description": "ID of the previous answer in the same thread."
              }
            }
          },
          "session": {
            "$ref": "#/components/schemas/SiteInsightsSession"
          },
          "feedback": {
            "type": "object",
            "required": [
              "rating"
            ],
            "properties": {
              "rating": {
                "type": "integer",
                "enum": [
                  -1,
                  1
                ],
                "description": "Feedback rating provided by the user."
              }
            }
          },
          "responseId": {
            "type": "string",
            "description": "The response identifier for this answer."
          },
          "language": {
            "type": "string",
            "description": "ISO language code of the question."
          },
          "answered": {
            "$ref": "#/components/schemas/SiteQuestionAnswerResolution"
          },
          "helpfulness": {
            "$ref": "#/components/schemas/SiteQuestionAnswerHelpfulness"
          },
          "relevance": {
            "$ref": "#/components/schemas/SiteQuestionAnswerRelevance"
          },
          "channel": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/SiteCoreChannelType"
                  }
                },
                "required": [
                  "type"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/SiteConfigurableChannelType"
                  },
                  "id": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "ID of the associated site channel when the answer originates from a configurable channel. Null if the channel has been deleted."
                  }
                },
                "required": [
                  "type",
                  "id"
                ]
              }
            ]
          },
          "createdAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the site question answer.",
            "properties": {
              "location": {
                "type": "string",
                "format": "uri",
                "description": "URL of the site question answer in the API."
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "question",
          "topics",
          "input",
          "responseId",
          "language",
          "answered",
          "helpfulness",
          "relevance",
          "channel",
          "createdAt",
          "urls"
        ]
      },
      "AIMessageRole": {
        "type": "string",
        "enum": [
          "user",
          "assistant",
          "developer"
        ]
      },
      "AIToolCallGetPageContent": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "getPageContent"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          },
          "revisionId": {
            "type": "string",
            "description": "The ID of the revision within which the page content is being fetched."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page",
          "revisionId"
        ]
      },
      "AIToolCallGetPages": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "getPages"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          },
          "revisionId": {
            "type": "string",
            "description": "The revision ID of the space."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "revisionId"
        ]
      },
      "AIToolCallGetReusableContents": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "getReusableContents"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          },
          "revisionId": {
            "type": "string",
            "description": "The revision ID of the space."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "revisionId"
        ]
      },
      "AIToolCallSearchResultPage": {
        "type": "object",
        "title": "Page result",
        "description": "Result of a search matching a page.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "page"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space"
          },
          "pageId": {
            "type": "string",
            "description": "The ID of the page"
          },
          "revisionId": {
            "type": "string",
            "description": "The revision ID of the result"
          },
          "anchor": {
            "type": "string",
            "description": "The anchor of the result"
          },
          "title": {
            "type": "string",
            "description": "The title of the result"
          },
          "description": {
            "type": "string",
            "description": "The description of the result"
          }
        },
        "required": [
          "type",
          "spaceId",
          "pageId",
          "revisionId",
          "title"
        ]
      },
      "AIToolCallSearchResultRecord": {
        "type": "object",
        "title": "Site context record result",
        "description": "Result of a search matching a site context record.",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "record"
            ]
          },
          "siteId": {
            "type": "string",
            "description": "The ID of the site owning the context record"
          },
          "recordId": {
            "type": "string",
            "description": "The ID of the context record"
          },
          "title": {
            "type": "string",
            "description": "The title of the record"
          },
          "description": {
            "type": "string",
            "description": "The description of the record"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "URL of the record in its original source"
          }
        },
        "required": [
          "type",
          "siteId",
          "recordId",
          "title"
        ]
      },
      "AIToolCallSearchResult": {
        "description": "Result of a search",
        "oneOf": [
          {
            "$ref": "#/components/schemas/AIToolCallSearchResultPage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallSearchResultRecord"
          }
        ],
        "discriminator": {
          "propertyName": "type"
        }
      },
      "AIToolCallSearch": {
        "type": "object",
        "description": "Tool to search for content",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "search"
            ]
          },
          "query": {
            "type": "string",
            "description": "The query that has been searched for."
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIToolCallSearchResult"
            }
          }
        },
        "required": [
          "tool",
          "query",
          "results"
        ]
      },
      "AIToolCallEditPage": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "editPage"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page"
        ]
      },
      "AIToolCallCreatePage": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "createPage"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page"
        ]
      },
      "AIToolCallDeletePage": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "deletePage"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page"
        ]
      },
      "AIToolCallRenamePage": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "renamePage"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "title": {
            "type": "string",
            "description": "The new title of the page."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page",
          "title"
        ]
      },
      "AIToolCallMovePage": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "movePage"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "to": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "moveType": {
            "type": "string",
            "description": "Indicates how the page was moved relative to the \"to\" page.\n- `within`: moved as the last child of the target page (or to the root when `to` is omitted)\n- `before`: moved directly before the target page\n- `after`: moved directly after the target page\n",
            "enum": [
              "within",
              "before",
              "after"
            ]
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page",
          "moveType"
        ]
      },
      "AIToolCallListModifiedPages": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "listModifiedPages"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          }
        },
        "required": [
          "tool",
          "spaceId"
        ]
      },
      "AIToolCallGetPageDiff": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "getPageDiff"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          },
          "page": {
            "$ref": "#/components/schemas/ChangedRevisionPage"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "page"
        ]
      },
      "AIToolCallCreateReusableContent": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "createReusableContent"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "reusableContent"
        ]
      },
      "AIToolCallEditReusableContent": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "editReusableContent"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being edited."
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "reusableContent"
        ]
      },
      "AIToolCallGetReusableContent": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "getReusableContent"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being accessed."
          },
          "revisionId": {
            "type": "string",
            "description": "The ID of the revision within which the reusable content is being fetched."
          },
          "reusableContent": {
            "$ref": "#/components/schemas/ChangedRevisionReusableContent"
          }
        },
        "required": [
          "tool",
          "spaceId",
          "reusableContent",
          "revisionId"
        ]
      },
      "AIToolCallCreateChangeRequest": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "createChangeRequest"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space the change request belongs to."
          },
          "action": {
            "type": "string",
            "enum": [
              "create",
              "update"
            ]
          },
          "changeRequest": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The unique identifier of the change request."
              },
              "number": {
                "type": "number",
                "description": "Incremental identifier of the change request."
              },
              "subject": {
                "type": "string",
                "description": "A brief summary of the change request."
              }
            },
            "required": [
              "id",
              "number",
              "subject"
            ]
          }
        },
        "required": [
          "tool",
          "spaceId",
          "action",
          "changeRequest"
        ]
      },
      "AIToolCallComment": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "comment"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being commented."
          },
          "page": {
            "description": "The page being commented.",
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "commentId": {
            "type": "string",
            "description": "The ID of the comment being posted."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "commentId"
        ]
      },
      "AIToolCallReplyToComment": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "replyToComment"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space being commented."
          },
          "page": {
            "description": "The page being commented.",
            "$ref": "#/components/schemas/ChangedRevisionPage"
          },
          "commentId": {
            "type": "string",
            "description": "The ID of the comment being replied to."
          },
          "replyId": {
            "type": "string",
            "description": "The ID of the reply being posted."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "commentId",
          "replyId"
        ]
      },
      "AIToolCallSubmitChangeRequestReview": {
        "type": "object",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "submitChangeRequestReview"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "The ID of the space where the review was submitted."
          },
          "changeRequestId": {
            "type": "string",
            "description": "The ID of the change request being reviewed."
          },
          "status": {
            "$ref": "#/components/schemas/ChangeRequestReviewStatus",
            "description": "Result of the review."
          },
          "reviewId": {
            "type": "string",
            "description": "Identifier of the review that was created."
          },
          "commentId": {
            "type": "string",
            "description": "Identifier of the comment that was created as part of the review."
          }
        },
        "required": [
          "tool",
          "spaceId",
          "changeRequestId",
          "status",
          "reviewId",
          "commentId"
        ]
      },
      "AIToolCallMCP": {
        "type": "object",
        "description": "Tool called from an MCP server",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "mcp"
            ]
          },
          "mcpServerId": {
            "type": "string",
            "description": "The ID of the MCP server that has been called."
          },
          "mcpToolName": {
            "type": "string",
            "description": "The name of the tool that has been called."
          },
          "mcpToolTitle": {
            "type": "string",
            "description": "The title of the tool that has been called."
          }
        },
        "required": [
          "tool",
          "mcpServerId",
          "mcpToolName"
        ]
      },
      "AIToolCallOtherSummary": {
        "type": "object",
        "description": "Summary of a generic tool call.",
        "properties": {
          "icon": {
            "$ref": "#/components/schemas/Icon"
          },
          "text": {
            "type": "string",
            "description": "Text to display to the user to describe the tool call."
          }
        },
        "required": [
          "icon",
          "text"
        ]
      },
      "AIToolCallOther": {
        "type": "object",
        "description": "Any tool call that is unknown by GitBook",
        "properties": {
          "tool": {
            "type": "string",
            "enum": [
              "other"
            ]
          },
          "summary": {
            "$ref": "#/components/schemas/AIToolCallOtherSummary"
          }
        },
        "required": [
          "tool",
          "summary"
        ]
      },
      "AIToolCall": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AIToolCallGetPageContent"
          },
          {
            "$ref": "#/components/schemas/AIToolCallGetPages"
          },
          {
            "$ref": "#/components/schemas/AIToolCallGetReusableContents"
          },
          {
            "$ref": "#/components/schemas/AIToolCallSearch"
          },
          {
            "$ref": "#/components/schemas/AIToolCallEditPage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallCreatePage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallDeletePage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallRenamePage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallMovePage"
          },
          {
            "$ref": "#/components/schemas/AIToolCallListModifiedPages"
          },
          {
            "$ref": "#/components/schemas/AIToolCallGetPageDiff"
          },
          {
            "$ref": "#/components/schemas/AIToolCallCreateReusableContent"
          },
          {
            "$ref": "#/components/schemas/AIToolCallEditReusableContent"
          },
          {
            "$ref": "#/components/schemas/AIToolCallGetReusableContent"
          },
          {
            "$ref": "#/components/schemas/AIToolCallCreateChangeRequest"
          },
          {
            "$ref": "#/components/schemas/AIToolCallComment"
          },
          {
            "$ref": "#/components/schemas/AIToolCallReplyToComment"
          },
          {
            "$ref": "#/components/schemas/AIToolCallSubmitChangeRequestReview"
          },
          {
            "$ref": "#/components/schemas/AIToolCallMCP"
          },
          {
            "$ref": "#/components/schemas/AIToolCallOther"
          }
        ]
      },
      "Timerange": {
        "type": "object",
        "properties": {
          "start": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "end": {
            "$ref": "#/components/schemas/Timestamp"
          }
        },
        "required": [
          "start",
          "end"
        ]
      },
      "AIAttachmentImage": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "image"
            ]
          },
          "url": {
            "$ref": "#/components/schemas/URL"
          }
        },
        "required": [
          "type",
          "url"
        ]
      },
      "AIAttachmentFile": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "file"
            ]
          },
          "url": {
            "$ref": "#/components/schemas/URL"
          },
          "filename": {
            "type": "string",
            "description": "Name of the file."
          },
          "contentType": {
            "type": "string",
            "enum": [
              "application/pdf"
            ]
          }
        },
        "required": [
          "type",
          "url",
          "filename",
          "contentType"
        ]
      },
      "AIAttachment": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AIAttachmentImage"
          },
          {
            "$ref": "#/components/schemas/AIAttachmentFile"
          }
        ]
      },
      "AIMessageStep": {
        "type": "object",
        "description": "A step in a message from the AI agent.",
        "properties": {
          "content": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "reasoning": {
            "$ref": "#/components/schemas/JSONDocument"
          },
          "toolCalls": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIToolCall"
            }
          },
          "timing": {
            "type": "object",
            "description": "The timing of the step.",
            "properties": {
              "reasoning": {
                "$ref": "#/components/schemas/Timerange"
              }
            }
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIAttachment"
            }
          }
        },
        "required": [
          "content"
        ]
      },
      "AIMessageTask": {
        "oneOf": [
          {
            "type": "object",
            "description": "When the agent is responding to a comment.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "respond_to_comment"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "The ID of the space to respond to the comment in."
              },
              "changeRequestId": {
                "type": "string",
                "description": "The ID of the change request to respond to the comment in."
              },
              "commentId": {
                "type": "string",
                "description": "The ID of the comment to respond to."
              }
            },
            "required": [
              "type",
              "spaceId",
              "commentId"
            ]
          },
          {
            "type": "object",
            "description": "When the agent is reviewing a change request.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "review_change_request"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "The ID of the space the change request is in."
              },
              "changeRequestId": {
                "type": "string",
                "description": "The ID of the change request to review."
              }
            },
            "required": [
              "type",
              "spaceId",
              "changeRequestId"
            ]
          },
          {
            "type": "object",
            "description": "When the agent is implementing a task in a change request.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "implement_change_request"
                ]
              },
              "spaceId": {
                "type": "string",
                "description": "The ID of the space the change request is in."
              },
              "changeRequestId": {
                "type": "string",
                "description": "The ID of the change request to implement the task in."
              }
            },
            "required": [
              "type",
              "spaceId",
              "changeRequestId"
            ]
          }
        ]
      },
      "AIMessageResponseMetadata": {
        "description": "The response that generated this message.",
        "type": "object",
        "properties": {
          "stopReason": {
            "type": "string",
            "description": "The reason the response was stopped. If not defined, the response finished normally.",
            "enum": [
              "aborted"
            ]
          },
          "id": {
            "type": "string",
            "description": "The ID of the response that generated this message. It can be undefined if the stream was aborted."
          },
          "previous": {
            "type": "string",
            "description": "The ID of the previous response that this message is based on."
          }
        }
      },
      "AIMessage": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/AIMessageRole"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIMessageStep"
            }
          },
          "task": {
            "$ref": "#/components/schemas/AIMessageTask"
          },
          "response": {
            "$ref": "#/components/schemas/AIMessageResponseMetadata"
          }
        },
        "required": [
          "id",
          "role",
          "steps"
        ]
      },
      "SiteQuestionAnswerWithResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteQuestionAnswer"
          },
          {
            "type": "object",
            "properties": {
              "response": {
                "$ref": "#/components/schemas/AIMessage"
              }
            },
            "required": [
              "response"
            ]
          }
        ]
      },
      "SiteSpaceCustomizationSettings": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteCustomizationSettings"
          },
          {
            "type": "object",
            "properties": {
              "hasOverrides": {
                "type": "boolean",
                "description": "Indicates whether the site customization settings have been overridden."
              }
            },
            "required": [
              "hasOverrides"
            ]
          }
        ]
      },
      "SiteSectionGroupPointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "site-section",
              "site-section-group"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the site section"
          }
        },
        "required": [
          "type",
          "id"
        ]
      },
      "SiteSectionGroupMovePosition": {
        "type": "object",
        "description": "Position at which to move the site section group.",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/SiteSectionGroupPointer"
          },
          "after": {
            "$ref": "#/components/schemas/SiteSectionGroupPointer"
          }
        }
      },
      "SiteSectionPointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "site-section"
            ]
          },
          "siteSection": {
            "type": "string",
            "description": "Unique identifier for the site section"
          }
        },
        "required": [
          "type",
          "siteSection"
        ]
      },
      "SiteSectionMovePosition": {
        "type": "object",
        "description": "Position at which to move the site section to.",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/SiteSectionPointer"
          },
          "after": {
            "$ref": "#/components/schemas/SiteSectionPointer"
          }
        }
      },
      "SiteSpacePointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "site-space"
            ]
          },
          "siteSpace": {
            "type": "string",
            "description": "Unique identifier for the site space"
          }
        },
        "required": [
          "type",
          "siteSpace"
        ]
      },
      "SiteSpaceMovePosition": {
        "type": "object",
        "description": "Position at which to move the site space to.",
        "properties": {
          "before": {
            "$ref": "#/components/schemas/SiteSpacePointer"
          },
          "after": {
            "$ref": "#/components/schemas/SiteSpacePointer"
          }
        }
      },
      "InviteSiteUsersAndTeams": {
        "type": "object",
        "properties": {
          "role": {
            "description": "Role to set.",
            "$ref": "#/components/schemas/MemberRole"
          }
        },
        "anyOf": [
          {
            "type": "object",
            "properties": {
              "teams": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "string",
                  "description": "The ID of the team to be invited"
                }
              }
            },
            "required": [
              "teams"
            ]
          },
          {
            "type": "object",
            "properties": {
              "users": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "string",
                  "description": "The ID of the user to be invited"
                }
              }
            },
            "required": [
              "users"
            ]
          }
        ],
        "required": [
          "role"
        ]
      },
      "OrganizationPointer": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "organization"
            ]
          },
          "organization": {
            "type": "string",
            "description": "Unique identifier for the organization"
          }
        },
        "required": [
          "type",
          "organization"
        ]
      },
      "UserSitePermission": {
        "type": "object",
        "description": "Permission of a user in a site.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          },
          "origin": {
            "description": "The content or organization that enforced this permission level.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/SpacePointer"
              },
              {
                "$ref": "#/components/schemas/OrganizationPointer"
              }
            ]
          }
        },
        "required": [
          "permission",
          "user",
          "origin"
        ]
      },
      "UserSitePermissionOverride": {
        "type": "object",
        "description": "Permission override of a user in a site.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "user": {
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "permission",
          "user"
        ]
      },
      "TeamSitePermissionOverride": {
        "type": "object",
        "description": "Permission override of a team in a site.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/MemberRole"
          },
          "team": {
            "$ref": "#/components/schemas/OrganizationTeam"
          }
        },
        "required": [
          "permission",
          "team"
        ]
      },
      "AIMessageContext": {
        "type": "object",
        "description": "Context about the current user sending a message.",
        "properties": {
          "location": {
            "type": "object",
            "properties": {
              "spaceId": {
                "type": "string",
                "description": "ID of the current space."
              },
              "pageId": {
                "type": "string",
                "description": "ID of the current page."
              }
            },
            "required": [
              "spaceId",
              "pageId"
            ]
          }
        }
      },
      "AIMessageInput": {
        "type": "object",
        "description": "Input version of an AI message.",
        "properties": {
          "role": {
            "type": "string",
            "enum": [
              "user"
            ]
          },
          "content": {
            "oneOf": [
              {
                "type": "string",
                "maxLength": 2048
              },
              {
                "$ref": "#/components/schemas/JSONDocument"
              }
            ]
          },
          "context": {
            "$ref": "#/components/schemas/AIMessageContext"
          },
          "attachments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIAttachment"
            }
          }
        },
        "required": [
          "role",
          "content"
        ]
      },
      "AIModel": {
        "type": "string",
        "enum": [
          "fast",
          "reasoning-low",
          "reasoning-medium",
          "reasoning-high"
        ]
      },
      "AIToolDefinition": {
        "type": "object",
        "description": "Description of a tool that can be called from an AI agent.",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the tool. It should be unique within the agent."
          },
          "description": {
            "type": "string",
            "description": "The description of the tool, passed to the AI agent."
          },
          "inputSchema": {
            "type": "object",
            "description": "JSON schema describing the input of the tool.",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "properties": {
                    "type": {
                      "type": "string",
                      "enum": [
                        "string",
                        "number",
                        "boolean",
                        "array",
                        "object"
                      ]
                    },
                    "description": {
                      "type": "string",
                      "description": "Description of the property."
                    }
                  },
                  "required": [
                    "type",
                    "description"
                  ],
                  "additionalProperties": true
                }
              }
            },
            "required": [
              "type",
              "properties"
            ]
          }
        },
        "required": [
          "name",
          "description"
        ]
      },
      "AIToolCallResult": {
        "type": "object",
        "description": "Result of a tool call.",
        "required": [
          "tool",
          "toolCallId",
          "output"
        ],
        "properties": {
          "tool": {
            "type": "string",
            "description": "The name of the tool that was called."
          },
          "toolCallId": {
            "type": "string",
            "description": "The ID of the tool call."
          },
          "output": {
            "type": "object",
            "description": "The output to the tool call."
          },
          "summary": {
            "$ref": "#/components/schemas/AIToolCallOtherSummary"
          }
        }
      },
      "AIStreamResponseStart": {
        "type": "object",
        "description": "Message emitted by the server to indicate the start of the AI response.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_start"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "task": {
            "$ref": "#/components/schemas/AIMessageTask"
          }
        },
        "required": [
          "type",
          "messageId"
        ]
      },
      "AIStreamResponseFinish": {
        "type": "object",
        "description": "Message emitted by the server to indicate the end of the AI response. It contains the ID of the response to be referenced for followup requests.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_finish"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "responseId": {
            "type": "string",
            "deprecated": true,
            "description": "The ID of the response"
          },
          "response": {
            "description": "The response metadata associated with the message.",
            "$ref": "#/components/schemas/AIMessageResponseMetadata"
          }
        },
        "required": [
          "type",
          "messageId",
          "response"
        ]
      },
      "AIStreamResponseDocument": {
        "type": "object",
        "description": "Message emitted by the server to indicate the latest block of the document. The block can either be a new block or an update to the previous block.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_document",
              "response_reasoning"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "stepIndex": {
            "type": "integer",
            "description": "The index of the step of the message that this event is composing.\n"
          },
          "operation": {
            "type": "string",
            "enum": [
              "insert",
              "update"
            ]
          },
          "blocks": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DocumentBlocksTopLevels"
            }
          }
        },
        "required": [
          "type",
          "messageId",
          "stepIndex",
          "operation",
          "blocks"
        ]
      },
      "AIStreamResponseObject": {
        "type": "object",
        "description": "Message emitted by the server to indicate a chunk of the JSON object response.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_object"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "jsonChunk": {
            "type": "string",
            "description": "The chunk of the JSON object response"
          }
        },
        "required": [
          "type",
          "messageId",
          "jsonChunk"
        ]
      },
      "AIStreamResponseToolCall": {
        "type": "object",
        "description": "Message emitted by the server to indicate that the AI has called a tool.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_tool_call"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "stepIndex": {
            "type": "integer",
            "description": "The index of the step of the message that this event is composing.\n"
          },
          "toolCall": {
            "$ref": "#/components/schemas/AIToolCall"
          }
        },
        "required": [
          "type",
          "messageId",
          "stepIndex",
          "toolCall"
        ]
      },
      "AIStreamResponseToolCallPending": {
        "type": "object",
        "description": "Message emitted by the server to indicate that the AI is calling a client-side tool.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_tool_call_pending"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "stepIndex": {
            "type": "integer",
            "description": "The index of the step of the message that this event is composing.\n"
          },
          "toolCall": {
            "type": "object",
            "description": "The tool call that the AI is calling.",
            "required": [
              "tool",
              "input"
            ],
            "properties": {
              "tool": {
                "type": "string",
                "description": "The name of the tool that the AI is calling."
              },
              "input": {
                "type": "object",
                "description": "The input to the tool call."
              }
            }
          },
          "toolCallId": {
            "type": "string",
            "description": "The ID of the tool call that the AI is calling."
          }
        },
        "required": [
          "type",
          "messageId",
          "stepIndex",
          "toolCall",
          "toolCallId"
        ]
      },
      "AIStreamResponseFollowupSuggestion": {
        "type": "object",
        "description": "Message emitted by the server to suggest a followup message the user could respond with.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_followup_suggestion"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "suggestions": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "A followup message the user could respond with.\n"
            }
          }
        },
        "required": [
          "type",
          "messageId",
          "suggestions"
        ]
      },
      "AIStreamResponseAttachment": {
        "type": "object",
        "description": "Message emitted by the server to indicate that the AI has attached an image.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "response_attachment"
            ]
          },
          "messageId": {
            "type": "string",
            "description": "The ID of the message that this event is composing.\n"
          },
          "stepIndex": {
            "type": "integer",
            "description": "The index of the step of the message that this event is composing.\n"
          },
          "attachment": {
            "$ref": "#/components/schemas/AIAttachment"
          }
        },
        "required": [
          "type",
          "messageId",
          "stepIndex",
          "attachment"
        ]
      },
      "AIStreamResponse": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AIStreamResponseStart"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseFinish"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseDocument"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseObject"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseToolCall"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseToolCallPending"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseFollowupSuggestion"
          },
          {
            "$ref": "#/components/schemas/AIStreamResponseAttachment"
          }
        ]
      },
      "SiteInsightsEventSession": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsSession"
          },
          {
            "type": "object",
            "description": "Analytics info on the GitBook's site session.",
            "properties": {
              "cookies": {
                "type": "object",
                "description": "The visitors cookies.",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "ip": {
                "type": "string",
                "description": "IP address of the visitor.\nIf not defined, it'll default to the IP executing the request.\n"
              },
              "userAgent": {
                "type": "string",
                "description": "User-agent of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent\n"
              },
              "language": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Language of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/language\n"
              },
              "referrer": {
                "description": "Referrer of the session",
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "type": "string",
                    "enum": [
                      ""
                    ]
                  },
                  {
                    "$ref": "#/components/schemas/URL"
                  }
                ]
              },
              "visitorAuthToken": {
                "type": [
                  "string",
                  "null"
                ],
                "deprecated": true,
                "description": "Deprecated, use visitorAuthClaims instead."
              },
              "visitorAuthClaims": {
                "description": "Claims of the visitor.\nThis is used to identify the visitor with adaptive content.\n",
                "$ref": "#/components/schemas/PlainObject"
              }
            },
            "required": [
              "cookies",
              "userAgent",
              "language",
              "referrer"
            ]
          }
        ]
      },
      "SiteInsightsDisplayContext": {
        "type": "string",
        "description": "Context in which the event was recorded.",
        "enum": [
          "site",
          "embed",
          "mcp"
        ]
      },
      "SiteInsightsEventLocation": {
        "type": "object",
        "description": "Location of the event.",
        "properties": {
          "url": {
            "description": "URL of the location.",
            "$ref": "#/components/schemas/URL"
          },
          "displayContext": {
            "description": "Whether the event was tracked on the site or an embed widget.",
            "$ref": "#/components/schemas/SiteInsightsDisplayContext",
            "default": "site"
          },
          "siteSection": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned site section."
          },
          "siteSpace": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned site space."
          },
          "siteShareKey": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned site share key."
          },
          "space": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned space."
          },
          "revision": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned revision."
          },
          "page": {
            "type": [
              "string",
              "null"
            ],
            "description": "ID of the concerned page."
          }
        },
        "required": [
          "url",
          "siteSection",
          "siteSpace",
          "siteShareKey",
          "page",
          "space",
          "revision"
        ]
      },
      "SiteInsightsEventBase": {
        "type": "object",
        "properties": {
          "session": {
            "$ref": "#/components/schemas/SiteInsightsEventSession"
          },
          "location": {
            "$ref": "#/components/schemas/SiteInsightsEventLocation"
          },
          "timestamp": {
            "description": "Optional timestamp of the event. If not provided, the current timestamp will be used. Must be within 5 minutes of the current time.",
            "$ref": "#/components/schemas/Timestamp"
          }
        },
        "required": [
          "session",
          "location"
        ]
      },
      "SiteInsightsEventPageView": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "page_view"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "SiteInsightsEventSearchOpen": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "search_open"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "SiteInsightsEventSearchTypeQuery": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "search_type_query"
                ]
              },
              "query": {
                "type": "string",
                "description": "Query of the search."
              }
            },
            "required": [
              "type",
              "query"
            ]
          }
        ]
      },
      "SiteInsightsEventSearchOpenResult": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "search_open_result"
                ]
              },
              "query": {
                "type": "string",
                "description": "Query of the search."
              },
              "result": {
                "description": "Target of the opened search result.",
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "spaceId": {
                        "type": "string",
                        "description": "ID of the concerned space."
                      },
                      "pageId": {
                        "type": "string",
                        "description": "ID of the concerned page."
                      }
                    },
                    "required": [
                      "spaceId",
                      "pageId"
                    ]
                  },
                  {
                    "type": "object",
                    "properties": {
                      "recordId": {
                        "type": "string",
                        "description": "ID of the concerned record."
                      }
                    },
                    "required": [
                      "recordId"
                    ]
                  }
                ]
              }
            },
            "required": [
              "type",
              "query",
              "result"
            ]
          }
        ]
      },
      "SiteInsightsEventPagePostFeedback": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "page_post_feedback"
                ]
              },
              "feedback": {
                "type": "object",
                "properties": {
                  "rating": {
                    "$ref": "#/components/schemas/PageFeedbackRating"
                  }
                },
                "required": [
                  "rating"
                ]
              }
            },
            "required": [
              "type",
              "feedback"
            ]
          }
        ]
      },
      "SiteInsightsEventPagePostFeedbackComment": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "page_post_feedback_comment"
                ]
              },
              "feedback": {
                "type": "object",
                "properties": {
                  "rating": {
                    "$ref": "#/components/schemas/PageFeedbackRating"
                  },
                  "comment": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 512
                  }
                },
                "required": [
                  "rating",
                  "comment"
                ]
              }
            },
            "required": [
              "type",
              "feedback"
            ]
          }
        ]
      },
      "SiteInsightsEventAskQuestion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ask_question"
                ]
              },
              "query": {
                "type": "string",
                "description": "Question being asked."
              }
            },
            "required": [
              "type",
              "query"
            ]
          }
        ]
      },
      "SiteInsightsEventAskView": {
        "description": "Event when a user views the ask UI.",
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ask_view"
                ]
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "SiteInsightsEventAskRateResponse": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ask_rate_response"
                ]
              },
              "query": {
                "type": "string",
                "description": "Question asked."
              },
              "rating": {
                "type": "integer",
                "enum": [
                  1,
                  -1
                ]
              },
              "responseId": {
                "type": "string",
                "description": "ID of the AI response."
              }
            },
            "required": [
              "type",
              "query",
              "rating",
              "responseId"
            ]
          }
        ]
      },
      "SiteInsightsLinkPosition": {
        "type": "string",
        "enum": [
          "announcement",
          "header",
          "footer",
          "sidebar",
          "content"
        ]
      },
      "SiteInsightsEventLinkClick": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "link_click"
                ]
              },
              "link": {
                "type": "object",
                "properties": {
                  "target": {
                    "$ref": "#/components/schemas/ContentRef"
                  },
                  "position": {
                    "$ref": "#/components/schemas/SiteInsightsLinkPosition"
                  }
                },
                "required": [
                  "target",
                  "position"
                ]
              }
            },
            "required": [
              "type",
              "link"
            ]
          }
        ]
      },
      "SiteInsightsEventAPIClientOpen": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "api_client_open"
                ]
              },
              "operation": {
                "$ref": "#/components/schemas/OpenAPIOperationPointer"
              }
            },
            "required": [
              "type",
              "operation"
            ]
          }
        ]
      },
      "SiteInsightsEventAPIClientRequest": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "api_client_request"
                ]
              },
              "operation": {
                "$ref": "#/components/schemas/OpenAPIOperationPointer"
              }
            },
            "required": [
              "type",
              "operation"
            ]
          }
        ]
      },
      "SiteInsightsTrademarkPlacement": {
        "type": "string",
        "enum": [
          "sidebar",
          "ad",
          "footer",
          "pdf",
          "embed"
        ]
      },
      "SiteInsightsEventTrademarkClick": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "trademark_click"
                ]
              },
              "placement": {
                "$ref": "#/components/schemas/SiteInsightsTrademarkPlacement"
              }
            },
            "required": [
              "type",
              "placement"
            ]
          }
        ]
      },
      "SiteInsightsAdPlacement": {
        "type": "string",
        "enum": [
          "aside"
        ]
      },
      "SiteInsightsAd": {
        "type": "object",
        "properties": {
          "domain": {
            "type": "string"
          },
          "zoneId": {
            "type": "string"
          },
          "placement": {
            "$ref": "#/components/schemas/SiteInsightsAdPlacement"
          }
        },
        "required": [
          "domain",
          "zoneId",
          "placement"
        ]
      },
      "SiteInsightsEventAdClick": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ad_click"
                ]
              },
              "ad": {
                "$ref": "#/components/schemas/SiteInsightsAd"
              }
            },
            "required": [
              "type",
              "ad"
            ]
          }
        ]
      },
      "SiteInsightsEventAdDisplay": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ad_display"
                ]
              },
              "ad": {
                "$ref": "#/components/schemas/SiteInsightsAd"
              }
            },
            "required": [
              "type",
              "ad"
            ]
          }
        ]
      },
      "SiteInsightsEvent": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsEventPageView"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventSearchOpen"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventSearchTypeQuery"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventSearchOpenResult"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventPagePostFeedback"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventPagePostFeedbackComment"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAskQuestion"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAskView"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAskRateResponse"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventLinkClick"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAPIClientOpen"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAPIClientRequest"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventTrademarkClick"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAdClick"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsEventAdDisplay"
          }
        ]
      },
      "SiteInsightsQueryDateTimeColumn": {
        "type": "object",
        "required": [
          "column"
        ],
        "properties": {
          "column": {
            "type": "string",
            "enum": [
              "datetime"
            ]
          },
          "interval": {
            "type": "string",
            "enum": [
              "hour",
              "day",
              "week",
              "month"
            ]
          }
        }
      },
      "SiteInsightsQueryEventsColumn": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsQueryDateTimeColumn"
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "url"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventType"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventsCount"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "sessionsCount"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorsCount"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteSection"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteSpace"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteShareKey"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "displayContext"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "page"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorGeoCountry"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorGeoPoint"
                ]
              },
              "precision": {
                "type": "integer",
                "minimum": 0,
                "maximum": 15
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorDevice"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorBrowser"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorOS"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorBot"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorLanguage"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetValue"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetKind"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetDomain"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkPosition"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAPIOperationPath"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAPIOperationMethod"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventSearchQuery"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventSearchResultRecordId"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventPageFeedbackRating"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventPageFeedbackComment"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAskResponseRating"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "pageFeedbackRating"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "askResponseRating"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "referrer"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "referrerDomain"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmSource"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmMedium"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmCampaign"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmTerm"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmContent"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorClaimProperty"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "claim"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorClaim"
                ]
              },
              "claim": {
                "type": "string"
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAdDomain"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAdPlacement"
                ]
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventTrademarkPlacement"
                ]
              }
            }
          }
        ]
      },
      "SiteInsightsEventType": {
        "type": "string",
        "enum": [
          "page_view",
          "search_open",
          "search_type_query",
          "search_open_result",
          "page_post_feedback",
          "page_post_feedback_comment",
          "ask_question",
          "ask_view",
          "ask_rate_response",
          "link_click",
          "api_client_open",
          "api_client_request",
          "ad_click",
          "ad_display",
          "trademark_click"
        ]
      },
      "SiteInsightsVisitorBrowser": {
        "type": "string",
        "enum": [
          "chrome",
          "firefox",
          "safari",
          "edge",
          "ie",
          "opera",
          "unknown"
        ]
      },
      "SiteInsightsVisitorDevice": {
        "type": "string",
        "enum": [
          "desktop",
          "tablet",
          "mobile",
          "unknown"
        ]
      },
      "SiteInsightsVisitorOS": {
        "type": "string",
        "enum": [
          "windows",
          "macos",
          "linux",
          "android",
          "ios",
          "unknown"
        ]
      },
      "SiteInsightsVisitorBot": {
        "type": [
          "string",
          "null"
        ],
        "enum": [
          null,
          "unknown",
          "googlebot",
          "bingbot",
          "duckduckbot",
          "facebookbot",
          "applebot",
          "chatgpt",
          "anthropic",
          "gemini",
          "perplexity",
          "cohere",
          "mistral",
          "deepseek",
          "meta",
          "bytespider",
          "ccbot",
          "amazonbot",
          "youbot",
          "cursor",
          "vscode",
          "claude-code"
        ]
      },
      "SiteInsightsQueryEventsValues": {
        "oneOf": [
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "datetime"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Timestamp"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "url"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/URL"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventsCount"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "sessionsCount"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorsCount"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventType"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsEventType"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "claim",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorClaim"
                ]
              },
              "claim": {
                "type": "string"
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorClaimProperty"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorBrowser"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsVisitorBrowser"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorDevice"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsVisitorDevice"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorOS"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsVisitorOS"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorBot"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/SiteInsightsVisitorBot"
                    },
                    {
                      "type": "string",
                      "enum": [
                        ""
                      ]
                    }
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetValue"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ContentRef"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetKind"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "url",
                    "page",
                    "file",
                    "anchor",
                    "space",
                    "collection",
                    "user",
                    "reusable-content"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkPosition"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsLinkPosition"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteSection"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteSpace"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "siteShareKey"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "displayContext"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsDisplayContext"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "page"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "type": "null"
                    },
                    {
                      "type": "object",
                      "required": [
                        "page",
                        "space"
                      ],
                      "properties": {
                        "page": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "space": {
                          "type": "string"
                        }
                      }
                    }
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorGeoCountry"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorGeoPoint"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "required": [
                    "latitude",
                    "longitude",
                    "h3"
                  ],
                  "properties": {
                    "latitude": {
                      "type": "number"
                    },
                    "longitude": {
                      "type": "number"
                    },
                    "h3": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "visitorLanguage"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventLinkTargetDomain"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAPIOperationPath"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAPIOperationMethod"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventSearchQuery"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventSearchResultRecordId"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "pageFeedbackRating"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "ok",
                    "good",
                    "bad"
                  ],
                  "properties": {
                    "ok": {
                      "type": "number"
                    },
                    "good": {
                      "type": "number"
                    },
                    "bad": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "askResponseRating"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "positive",
                    "negative"
                  ],
                  "properties": {
                    "positive": {
                      "type": "number"
                    },
                    "negative": {
                      "type": "number"
                    }
                  }
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventPageFeedbackRating"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/PageFeedbackRating"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAskResponseRating"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventPageFeedbackComment"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "referrer"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "referrerDomain"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmSource"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmMedium"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmCampaign"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmTerm"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "utmContent"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAdDomain"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventAdPlacement"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsAdPlacement"
                }
              }
            }
          },
          {
            "type": "object",
            "required": [
              "column",
              "values"
            ],
            "properties": {
              "column": {
                "type": "string",
                "enum": [
                  "eventTrademarkPlacement"
                ]
              },
              "values": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SiteInsightsTrademarkPlacement"
                }
              }
            }
          }
        ]
      },
      "SiteInsightsQueryOperator": {
        "type": "string",
        "enum": [
          "in",
          "notIn",
          "greaterThan",
          "greaterThanOrEqual",
          "lessThan",
          "lessThanOrEqual"
        ]
      },
      "SiteInsightsQueryEventsFilter": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsQueryEventsValues"
          },
          {
            "type": "object",
            "properties": {
              "operator": {
                "$ref": "#/components/schemas/SiteInsightsQueryOperator"
              }
            }
          }
        ]
      },
      "SiteInsightsQueryRangePreset": {
        "type": "string",
        "enum": [
          "lastYear",
          "last3Months",
          "last30Days",
          "last7Days",
          "last24Hours"
        ]
      },
      "SiteInsightsQueryRangeCustom": {
        "type": "object",
        "properties": {
          "from": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "to": {
            "$ref": "#/components/schemas/Timestamp"
          }
        },
        "required": [
          "from",
          "to"
        ]
      },
      "SiteInsightsQueryRange": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteInsightsQueryRangePreset"
          },
          {
            "$ref": "#/components/schemas/SiteInsightsQueryRangeCustom"
          }
        ]
      },
      "SiteInsightsQueryEventsAggregation": {
        "type": "object",
        "required": [
          "range"
        ],
        "properties": {
          "select": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteInsightsQueryEventsColumn"
            }
          },
          "where": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteInsightsQueryEventsFilter"
            }
          },
          "groupBy": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteInsightsQueryEventsColumn"
            }
          },
          "order": {
            "type": "object",
            "required": [
              "by",
              "direction"
            ],
            "properties": {
              "by": {
                "$ref": "#/components/schemas/SiteInsightsQueryEventsColumn"
              },
              "direction": {
                "type": "string",
                "enum": [
                  "asc",
                  "desc"
                ]
              }
            }
          },
          "range": {
            "$ref": "#/components/schemas/SiteInsightsQueryRange"
          },
          "limit": {
            "type": "integer",
            "default": 1000,
            "minimum": 1,
            "maximum": 1000
          }
        }
      },
      "SiteInsightsQueryEventsAggregationResult": {
        "type": "object",
        "required": [
          "columns"
        ],
        "properties": {
          "columns": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SiteInsightsQueryEventsValues"
            }
          }
        }
      },
      "SiteInsightsVisitorSegment": {
        "type": "object",
        "description": "A segment of visitors with the same characteristics.",
        "properties": {
          "title": {
            "type": "string",
            "description": "The title of the visitor profile."
          },
          "claims": {
            "$ref": "#/components/schemas/PlainObject"
          },
          "events": {
            "type": "number",
            "description": "The number of events for this visitor profile."
          },
          "visitors": {
            "type": "number",
            "description": "The number of visitors for this visitor profile."
          },
          "sessions": {
            "type": "number",
            "description": "The number of sessions for this visitor profile."
          }
        },
        "required": [
          "title",
          "claims",
          "events",
          "visitors",
          "sessions"
        ]
      },
      "SiteAdsStats": {
        "type": "object",
        "required": [
          "impressions",
          "clicks",
          "revenue"
        ],
        "properties": {
          "impressions": {
            "type": "number"
          },
          "clicks": {
            "type": "number"
          },
          "revenue": {
            "type": "string"
          }
        }
      },
      "SiteRedirectSourcePath": {
        "type": "string",
        "description": "The source path to redirect from.",
        "maxLength": 512,
        "pattern": "^\\/(?!\\*)(?!.*\\*.+)(?:[A-Za-z0-9\\-._~]|%[0-9A-Fa-f]{2})+(?:\\/(?:[A-Za-z0-9\\-._~]|%[0-9A-Fa-f]{2})+)*(?:\\/\\*|\\*)?$"
      },
      "SiteRedirectDestinationSiteSection": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "site-section"
            ]
          },
          "siteSectionId": {
            "type": "string",
            "description": "Unique identifier for the site section to redirect to"
          }
        },
        "required": [
          "kind",
          "siteSectionId"
        ]
      },
      "SiteRedirectDestinationSiteSpace": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "site-space"
            ]
          },
          "siteSpaceId": {
            "type": "string",
            "description": "Unique identifier for the site space to redirect to"
          }
        },
        "required": [
          "kind",
          "siteSpaceId"
        ]
      },
      "SiteRedirectDestinationPage": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "site-page"
            ]
          },
          "siteSpaceId": {
            "type": "string",
            "description": "Unique identifier for the site space of the page"
          },
          "pageId": {
            "type": "string",
            "description": "Unique identifier for the page within the site space to redirect to"
          }
        },
        "required": [
          "kind",
          "siteSpaceId",
          "pageId"
        ]
      },
      "SiteRedirectDestinationExternal": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "external"
            ]
          },
          "url": {
            "$ref": "#/components/schemas/URL"
          }
        },
        "required": [
          "kind",
          "url"
        ]
      },
      "SiteRedirectDestination": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteRedirectDestinationSiteSection"
          },
          {
            "$ref": "#/components/schemas/SiteRedirectDestinationSiteSpace"
          },
          {
            "$ref": "#/components/schemas/SiteRedirectDestinationPage"
          },
          {
            "$ref": "#/components/schemas/SiteRedirectDestinationExternal"
          }
        ]
      },
      "SiteRedirect": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-redirect"
            ]
          },
          "id": {
            "type": "string",
            "description": "The unique identifier for the redirect."
          },
          "source": {
            "$ref": "#/components/schemas/SiteRedirectSourcePath"
          },
          "draft": {
            "type": "boolean",
            "description": "Whether the redirect is draft and not live."
          },
          "captureWildcard": {
            "type": "boolean",
            "description": "Capture and append the wildcard-matched suffix to the destination URL."
          },
          "destination": {
            "$ref": "#/components/schemas/SiteRedirectDestination"
          }
        },
        "required": [
          "object",
          "id",
          "source",
          "draft",
          "captureWildcard",
          "destination"
        ]
      },
      "SiteRedirectInputDestinationPath": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "path"
            ]
          },
          "spaceId": {
            "type": "string",
            "description": "Unique identifier for the space containing the page referenced by the path."
          },
          "path": {
            "type": "string",
            "description": "Path to the page within the space revision to resolve."
          }
        },
        "required": [
          "kind",
          "spaceId",
          "path"
        ]
      },
      "SiteRedirectInputDestination": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteRedirectDestination"
          },
          {
            "$ref": "#/components/schemas/SiteRedirectInputDestinationPath"
          }
        ]
      },
      "SiteMcpServerName": {
        "type": "string",
        "description": "Name of the MCP server",
        "minLength": 1,
        "maxLength": 100
      },
      "SiteMcpServerHeaders": {
        "type": "object",
        "additionalProperties": {
          "type": "string",
          "minLength": 1,
          "maxLength": 512
        },
        "description": "HTTP headers sent with requests to this server"
      },
      "SiteMcpServer": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "site-mcp-server"
            ]
          },
          "id": {
            "type": "string",
            "description": "Unique identifier for the MCP server"
          },
          "name": {
            "$ref": "#/components/schemas/SiteMcpServerName"
          },
          "url": {
            "$ref": "#/components/schemas/URL"
          },
          "headers": {
            "$ref": "#/components/schemas/SiteMcpServerHeaders"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the MCP server in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "id",
          "name",
          "url",
          "headers",
          "urls"
        ]
      },
      "SiteChannelSetup": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "builtin:slack"
                ]
              },
              "setupSettings": {
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "type",
              "setupSettings"
            ]
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "builtin:discord"
                ]
              },
              "setupSettings": {
                "type": "object",
                "additionalProperties": false
              }
            },
            "required": [
              "type",
              "setupSettings"
            ]
          }
        ]
      },
      "SiteChannelUsageSettings": {
        "type": "object",
        "description": "Usage settings for a site channel.",
        "additionalProperties": false
      },
      "SiteChannel": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SiteChannelSetup"
          },
          {
            "type": "object",
            "properties": {
              "object": {
                "type": "string",
                "enum": [
                  "site-channel"
                ]
              },
              "id": {
                "type": "string",
                "description": "Unique identifier for the site channel."
              },
              "answers": {
                "type": "integer",
                "minimum": 0,
                "description": "Number of answers linked to this channel."
              },
              "usageSettings": {
                "$ref": "#/components/schemas/SiteChannelUsageSettings"
              },
              "createdAt": {
                "$ref": "#/components/schemas/Timestamp"
              },
              "urls": {
                "type": "object",
                "properties": {
                  "location": {
                    "type": "string",
                    "format": "uri",
                    "description": "URL of the site channel in the API."
                  }
                },
                "required": [
                  "location"
                ]
              }
            },
            "required": [
              "object",
              "id",
              "answers",
              "usageSettings",
              "createdAt",
              "urls"
            ]
          }
        ]
      },
      "Subdomain": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "subdomain"
            ]
          },
          "subdomain": {
            "type": "string",
            "description": "The GitBook subdomain, for example \"my-company\" in \"my-company.gitbook.io\"",
            "pattern": "^[a-z0-9][a-z0-9-]{1,30}[a-z0-9]$",
            "minLength": 3,
            "maxLength": 32
          },
          "target": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrganizationPointer"
              }
            ]
          },
          "isActive": {
            "type": "boolean"
          }
        },
        "required": [
          "object",
          "subdomain",
          "target",
          "isActive"
        ]
      },
      "CustomHostnameDnsStatus": {
        "type": "string",
        "enum": [
          "dns_passed",
          "dns_wrong_cname",
          "dns_no_cname",
          "dns_cloudflare_proxied",
          "dns_wrong_caa"
        ]
      },
      "CustomHostnameSslStatus": {
        "type": "string",
        "enum": [
          "live",
          "ssl_unknown",
          "ssl_pending",
          "ssl_failed",
          "ssl_retry_expired"
        ]
      },
      "CustomHostnameErrorStatus": {
        "type": "string",
        "enum": [
          "invalid_domain",
          "internal_error"
        ]
      },
      "CustomHostnameStatus": {
        "type": "string",
        "oneOf": [
          {
            "$ref": "#/components/schemas/CustomHostnameDnsStatus"
          },
          {
            "$ref": "#/components/schemas/CustomHostnameSslStatus"
          },
          {
            "$ref": "#/components/schemas/CustomHostnameErrorStatus"
          }
        ]
      },
      "CustomHostname": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "custom-hostname"
            ]
          },
          "hostname": {
            "$ref": "#/components/schemas/SiteHostname"
          },
          "target": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/OrganizationPointer"
              },
              {
                "$ref": "#/components/schemas/SitePointer"
              }
            ]
          },
          "isActive": {
            "type": "boolean"
          },
          "status": {
            "$ref": "#/components/schemas/CustomHostnameStatus"
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "location": {
                "type": "string",
                "description": "URL of the custom hostname in the API",
                "format": "uri"
              }
            },
            "required": [
              "location"
            ]
          }
        },
        "required": [
          "object",
          "hostname",
          "target",
          "isActive",
          "urls"
        ]
      },
      "UnsplashImage": {
        "type": "object",
        "required": [
          "kind",
          "id",
          "description",
          "downloadLocation",
          "urls",
          "author"
        ],
        "properties": {
          "kind": {
            "type": "string",
            "enum": [
              "unsplash_image"
            ]
          },
          "id": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "downloadLocation": {
            "type": "string"
          },
          "urls": {
            "type": "object",
            "properties": {
              "full": {
                "type": "string"
              },
              "small": {
                "type": "string"
              }
            },
            "required": [
              "full",
              "small"
            ]
          },
          "author": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "name",
              "url"
            ]
          }
        }
      },
      "HiveAccessToken": {
        "type": "object",
        "description": "JWT tokens to authenticate in Hive for all content.",
        "properties": {
          "contents": {
            "type": "object",
            "additionalProperties": {
              "description": "The Hive JWT access token.",
              "type": "string"
            }
          }
        },
        "required": [
          "contents"
        ]
      },
      "PurgeCDNCacheContext": {
        "type": "object",
        "description": "The context to send when purging the CDN Cache",
        "properties": {
          "tags": {
            "type": "array",
            "description": "The list of tags to purge",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "tags"
        ]
      },
      "CloudflareHostnameStatus": {
        "type": "string",
        "description": "The Cloudflare Hostname status",
        "enum": [
          "pending",
          "active",
          "blocked",
          "moved",
          "deleted"
        ]
      },
      "CloudflareHostnameTLSStatus": {
        "type": "string",
        "description": "The Cloudflare Hostname TLS status",
        "enum": [
          "initializing",
          "pending_validation",
          "pending_issuance",
          "pending_deployment",
          "active",
          "pending_deletion",
          "pending_cleanup",
          "deleted"
        ]
      },
      "CloudflareHostnameTLSValidationMethod": {
        "type": "string",
        "description": "The Cloudflare Hostname TLS validation method",
        "enum": [
          "http",
          "txt",
          "email"
        ]
      },
      "CloudflareHostnameTLSCertificate": {
        "type": "object",
        "description": "The Cloudflare Hostname TLS certificate",
        "properties": {
          "issuer": {
            "type": "string"
          },
          "expiresOn": {
            "type": "string"
          },
          "issuedOn": {
            "type": "string"
          }
        }
      },
      "CloudflareHostnameTLSValidationError": {
        "type": "object",
        "description": "The Cloudflare Hostname TLS validation error",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      },
      "CloudflareHostnameTLSInfo": {
        "type": "object",
        "description": "The Cloudflare Hostname TLS information",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/CloudflareHostnameTLSStatus"
          },
          "method": {
            "$ref": "#/components/schemas/CloudflareHostnameTLSValidationMethod"
          },
          "certificateAuthority": {
            "type": "string"
          },
          "certificates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CloudflareHostnameTLSCertificate"
            }
          },
          "validationErrors": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CloudflareHostnameTLSValidationError"
            }
          }
        },
        "required": [
          "status",
          "method",
          "certificates",
          "validationErrors"
        ]
      },
      "CustomDomainInfo": {
        "type": "object",
        "description": "Cloudflare Custom Domain's information",
        "properties": {
          "hostname": {
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CloudflareHostnameStatus"
          },
          "createdAt": {
            "type": "string"
          },
          "ssl": {
            "$ref": "#/components/schemas/CloudflareHostnameTLSInfo"
          },
          "verificationErrors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "hostname",
          "status",
          "createdAt",
          "verificationErrors"
        ]
      },
      "FirebaseUserInfo": {
        "type": "object",
        "description": "The User Firebase Auth Info.",
        "properties": {
          "uid": {
            "type": "string"
          },
          "displayName": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "phoneNumber": {
            "type": "string"
          },
          "photoUrl": {
            "type": "string"
          },
          "providerId": {
            "type": "string"
          }
        },
        "required": [
          "uid"
        ]
      },
      "UserBackOfficeInfo": {
        "type": "object",
        "description": "The GitBook User info shown in the BackOffice.",
        "properties": {
          "id": {
            "type": "string"
          },
          "authProviders": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FirebaseUserInfo"
            }
          },
          "createdAt": {
            "type": "string"
          },
          "lastSignInAt": {
            "type": "string"
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "authProviders",
          "createdAt",
          "lastSignInAt",
          "disabled"
        ]
      },
      "BlockContext": {
        "type": "object",
        "description": "The context to send when blocking/unblocking",
        "properties": {
          "block": {
            "type": "boolean"
          },
          "reason": {
            "$ref": "#/components/schemas/BlockReason"
          },
          "blockPaidOrg": {
            "type": "boolean"
          }
        },
        "required": [
          "block"
        ]
      },
      "UserImpersonationInfo": {
        "type": "object",
        "description": "The GitBook User impersonation info.",
        "properties": {
          "authURL": {
            "type": "string"
          },
          "impersonatorId": {
            "type": "string"
          }
        },
        "required": [
          "authURL",
          "impersonatorId"
        ]
      },
      "UserImpersonation": {
        "type": "object",
        "description": "The info returned when impersonating a GitBook User.",
        "allOf": [
          {
            "$ref": "#/components/schemas/UserBackOfficeInfo"
          },
          {
            "type": "object",
            "properties": {
              "impersonation": {
                "$ref": "#/components/schemas/UserImpersonationInfo"
              }
            },
            "required": [
              "impersonation"
            ]
          }
        ]
      },
      "UserOrganizationsTeamsPermissions": {
        "type": "object",
        "description": "The teams permissions of a user",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/TeamMemberRole"
          }
        },
        "required": [
          "role"
        ]
      },
      "UserOrganizationsPermissions": {
        "type": "object",
        "description": "The organizations permissions of a user",
        "properties": {
          "role": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "teams": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/UserOrganizationsTeamsPermissions"
            }
          },
          "disabled": {
            "type": "boolean"
          }
        },
        "required": [
          "role",
          "teams"
        ]
      },
      "UserCollectionsPermissions": {
        "type": "object",
        "description": "The collections permissions of a user",
        "properties": {
          "organization": {
            "type": "string"
          },
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "collection": {
            "type": "string"
          }
        },
        "required": [
          "organization",
          "level"
        ]
      },
      "UserSpacesPermissions": {
        "type": "object",
        "description": "The spaces permissions of a user",
        "properties": {
          "organization": {
            "type": "string"
          },
          "level": {
            "$ref": "#/components/schemas/MemberRoleOrGuest"
          },
          "collection": {
            "type": "string"
          }
        },
        "required": [
          "organization",
          "level"
        ]
      },
      "_index": {
        "type": "object",
        "description": "All the permissions of a user",
        "properties": {
          "updatedAt": {
            "$ref": "#/components/schemas/Timestamp"
          },
          "organizations": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/UserOrganizationsPermissions"
            }
          },
          "collections": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/UserCollectionsPermissions"
            }
          },
          "spaces": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/UserSpacesPermissions"
            }
          }
        },
        "required": [
          "updatedAt",
          "organizations",
          "collections",
          "spaces"
        ]
      },
      "BackOfficeSite": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Site"
          },
          {
            "type": "object",
            "properties": {
              "organization": {
                "type": "string",
                "description": "ID of the organization owning this site"
              }
            },
            "required": [
              "organization"
            ]
          }
        ]
      },
      "PublishedContentRedirect": {
        "oneOf": [
          {
            "type": "object",
            "title": "Redirect to the application or a different content in the site",
            "properties": {
              "target": {
                "type": "string",
                "description": "Type of target for the redirect",
                "enum": [
                  "application",
                  "content"
                ]
              },
              "redirect": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "target",
              "redirect"
            ]
          },
          {
            "type": "object",
            "title": "Redirect to an external resource from the site",
            "properties": {
              "target": {
                "type": "string",
                "description": "Type of target for the redirect",
                "enum": [
                  "external"
                ]
              },
              "site": {
                "type": "string",
                "description": "ID of the resolved site."
              },
              "redirect": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "target",
              "site",
              "redirect"
            ]
          }
        ],
        "discriminator": {
          "propertyName": "target"
        }
      },
      "PublishedSiteContent": {
        "type": "object",
        "title": "Site Content",
        "properties": {
          "site": {
            "type": "string",
            "description": "ID of the site matching."
          },
          "siteSection": {
            "type": "string",
            "description": "ID of the site-section matching."
          },
          "siteSpace": {
            "type": "string",
            "description": "ID of the site-space matching."
          },
          "space": {
            "type": "string",
            "description": "ID of the space matching."
          },
          "changeRequest": {
            "type": "string",
            "description": "Identifier of the change request being previewed in this URL."
          },
          "revision": {
            "type": "string",
            "description": "Identifier of the revision being previewed in this URL."
          },
          "pathname": {
            "type": "string",
            "description": "Path of the content relative to the input URL being resolved"
          },
          "basePath": {
            "type": "string",
            "description": "Prefix of the path in the input URL being resolved"
          },
          "siteBasePath": {
            "type": "string",
            "description": "Prefix of the site path in the input URL being resolved"
          },
          "apiToken": {
            "type": "string",
            "description": "Short-lived API token to fetch content related to the space in the context of the URL."
          },
          "organization": {
            "type": "string",
            "description": "ID of the organization."
          },
          "shareKey": {
            "type": "string",
            "description": "Share link key of the site in case the site was published with share-links."
          },
          "complete": {
            "type": "boolean",
            "description": "Whether the resolved site URL is complete and at it's terminal point, meaning no more site path segments can be further expected before any page path segments."
          },
          "contextId": {
            "type": "string",
            "description": "Context returned only for a authenticated access session to track changes in the visitor session context that affect content rendering (used for cache invalidation)."
          },
          "canonicalUrl": {
            "type": "string",
            "description": "The canonical URL of the resolution."
          },
          "preview": {
            "type": "boolean",
            "description": "Whether the URL is a preview URL"
          }
        },
        "required": [
          "site",
          "siteSpace",
          "space",
          "pathname",
          "basePath",
          "siteBasePath",
          "apiToken",
          "organization",
          "complete",
          "canonicalUrl"
        ]
      },
      "PublishedSiteContentLookup": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/PublishedContentRedirect"
          },
          {
            "$ref": "#/components/schemas/PublishedSiteContent"
          }
        ]
      },
      "SiteVisitorPayload": {
        "type": "object",
        "description": "An object that describes the payload of site visitor info. It can include a jwt token with signed claims and/or a record of its unsigned claims.",
        "properties": {
          "jwtToken": {
            "type": "string",
            "description": "JWT token generated for a authenticated access session."
          },
          "unsignedClaims": {
            "$ref": "#/components/schemas/PlainObject"
          }
        }
      },
      "SHA256": {
        "type": "string",
        "minLength": 64,
        "maxLength": 64
      },
      "SpaceTrackPageView": {
        "type": "object",
        "properties": {
          "pageId": {
            "type": "string",
            "description": "Unique identifier of the page."
          },
          "visitor": {
            "type": "object",
            "description": "Analytics info on the GitBook's content visitor.",
            "properties": {
              "anonymousId": {
                "type": "string",
                "description": "GitBook's unique identifier of the visitor."
              },
              "cookies": {
                "type": "object",
                "description": "The visitors cookies.",
                "additionalProperties": {
                  "type": "string"
                }
              },
              "ip": {
                "type": "string",
                "description": "IP address of the visitor.\nIf undefined, it'll default to the IP executing the request.\n"
              },
              "userAgent": {
                "type": "string",
                "description": "User-agent of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent\n"
              },
              "language": {
                "type": "string",
                "description": "Language of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/language\n"
              }
            },
            "required": [
              "anonymousId",
              "cookies",
              "userAgent"
            ]
          },
          "url": {
            "type": "string",
            "description": "The GitBook content's URL visited (including URL params)."
          },
          "referrer": {
            "type": "string",
            "description": "The URL of referrer that linked to the page."
          }
        },
        "required": [
          "visitor",
          "url",
          "referrer"
        ]
      },
      "SiteTrackPageView": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "pageId": {
                "type": "string",
                "description": "Unique identifier of the page."
              },
              "visitor": {
                "type": "object",
                "description": "Analytics info on the GitBook's content visitor.",
                "properties": {
                  "anonymousId": {
                    "type": "string",
                    "description": "GitBook's unique identifier of the visitor."
                  },
                  "cookies": {
                    "type": "object",
                    "description": "The visitors cookies.",
                    "additionalProperties": {
                      "type": "string"
                    }
                  },
                  "ip": {
                    "type": "string",
                    "description": "IP address of the visitor.\nIf undefined, it'll default to the IP executing the request.\n"
                  },
                  "userAgent": {
                    "type": "string",
                    "description": "User-agent of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent\n"
                  },
                  "language": {
                    "type": "string",
                    "description": "Language of the visitor.\nhttps://developer.mozilla.org/en-US/docs/Web/API/Navigator/language\n"
                  }
                },
                "required": [
                  "anonymousId",
                  "cookies",
                  "userAgent"
                ]
              },
              "url": {
                "type": "string",
                "description": "The GitBook content's URL visited (including URL params)."
              },
              "referrer": {
                "type": "string",
                "description": "The URL of referrer that linked to the page."
              }
            },
            "required": [
              "visitor",
              "url",
              "referrer"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "spaceId": {
                    "type": "string",
                    "description": "Unique identifier of the space."
                  }
                },
                "required": [
                  "spaceId"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "siteSpaceId": {
                    "description": "The site-space that was viewed",
                    "type": "string"
                  }
                },
                "required": [
                  "siteSpaceId"
                ]
              }
            ]
          }
        ]
      },
      "UpdateContentPublishingAuth": {
        "type": "object",
        "properties": {
          "fallbackURL": {
            "type": "string",
            "format": "uri",
            "description": "A fallback URL that will be used if authentication fails."
          }
        }
      },
      "GitBookUsers": {
        "type": "string",
        "description": "Predefined GitBook user identifiers",
        "enum": [
          "gitbook:agent"
        ]
      },
      "SpaceTemplate": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "contentId": {
            "type": "string"
          },
          "title": {
            "type": "string",
            "description": "A title of the template."
          },
          "subtitle": {
            "type": "string",
            "description": "A subtitle for the template."
          },
          "emoji": {
            "description": "An emoji representing the template.",
            "$ref": "#/components/schemas/Emoji"
          },
          "openAPISpec": {
            "description": "An optional OpenAPI spec to create along with the template.",
            "properties": {
              "slug": {
                "$ref": "#/components/schemas/OpenAPISpecSlug"
              },
              "sourceURL": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "slug",
              "sourceURL"
            ]
          },
          "features": {
            "type": "array",
            "description": "A list of features that the template supports.",
            "items": {
              "type": "string",
              "description": "A feature supported by the template."
            }
          },
          "previewImage": {
            "type": "object",
            "properties": {
              "light": {
                "$ref": "#/components/schemas/URL"
              },
              "dark": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "light",
              "dark"
            ]
          },
          "urls": {
            "type": "object",
            "description": "URLs associated with the object",
            "properties": {
              "preview": {
                "$ref": "#/components/schemas/URL"
              }
            },
            "required": [
              "preview"
            ]
          }
        },
        "required": [
          "id",
          "contentId",
          "title",
          "subtitle",
          "emoji",
          "features",
          "previewImage",
          "urls"
        ]
      },
      "ComputedContentSource": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/ComputedContentSourceDocument"
          },
          {
            "$ref": "#/components/schemas/ComputedContentSourceRevision"
          }
        ]
      },
      "InputPageBase": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "pattern": "^[a-zA-Z0-9]{1,40}$",
                "description": "Optional unique identifier for the page.\nIt can be used to reference pages in document links.\n"
              },
              "title": {
                "type": "string",
                "minLength": 1
              },
              "linkTitle": {
                "description": "Optional custom title for the page ToC and mention entries instead of the page title.",
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              }
            },
            "required": [
              "title"
            ]
          },
          {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "emoji": {
                    "description": "Emoji of the page.",
                    "$ref": "#/components/schemas/Emoji"
                  }
                },
                "required": [
                  "emoji"
                ]
              },
              {
                "type": "object",
                "properties": {
                  "icon": {
                    "description": "Icon of the page.",
                    "$ref": "#/components/schemas/Icon"
                  }
                }
              }
            ]
          }
        ]
      },
      "InputPageDocument": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InputPageBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "document"
                ]
              },
              "description": {
                "type": "string",
                "maxLength": 300,
                "minLength": 0
              },
              "slug": {
                "description": "Page's slug in its direct parent",
                "type": "string"
              },
              "pages": {
                "type": "array",
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/InputPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/InputPageLink"
                    },
                    {
                      "$ref": "#/components/schemas/InputPageComputed"
                    }
                  ]
                }
              },
              "computed": {
                "$ref": "#/components/schemas/ComputedContentSourceDocument"
              }
            },
            "required": [
              "type"
            ]
          }
        ]
      },
      "InputPageLink": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InputPageBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "link"
                ]
              },
              "target": {
                "$ref": "#/components/schemas/ContentRef"
              }
            },
            "required": [
              "type",
              "target"
            ]
          }
        ]
      },
      "InputPageComputed": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InputPageBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "computed"
                ]
              },
              "computed": {
                "$ref": "#/components/schemas/ComputedContentSourceRevision"
              }
            },
            "required": [
              "type",
              "computed"
            ]
          }
        ]
      },
      "InputPageGroup": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InputPageBase"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "group"
                ]
              },
              "slug": {
                "description": "Page's slug in its direct parent",
                "type": "string"
              },
              "pages": {
                "type": "array",
                "minLength": 1,
                "items": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/InputPageDocument"
                    },
                    {
                      "$ref": "#/components/schemas/InputPageLink"
                    },
                    {
                      "$ref": "#/components/schemas/InputPageComputed"
                    }
                  ]
                }
              }
            },
            "required": [
              "type",
              "pages"
            ]
          }
        ]
      },
      "InputPage": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/InputPageDocument"
          },
          {
            "$ref": "#/components/schemas/InputPageLink"
          },
          {
            "$ref": "#/components/schemas/InputPageComputed"
          },
          {
            "$ref": "#/components/schemas/InputPageGroup"
          }
        ]
      },
      "InputFile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "contentType": {
            "type": "string"
          },
          "downloadURL": {
            "type": "string"
          },
          "size": {
            "type": "number"
          },
          "dimensions": {
            "type": "object",
            "description": "For images, it contains the dimensions of it.",
            "properties": {
              "width": {
                "type": "number"
              },
              "height": {
                "type": "number"
              }
            },
            "required": [
              "width",
              "height"
            ]
          }
        },
        "required": [
          "name",
          "contentType",
          "downloadURL",
          "size"
        ]
      },
      "RevisionSemanticChangeType": {
        "type": "string",
        "description": "The type of semantic change.",
        "enum": [
          "page_created",
          "page_edited",
          "page_deleted",
          "page_moved",
          "file_created",
          "file_edited",
          "file_deleted",
          "custom_fields_edited",
          "tag_created",
          "tag_deleted",
          "tag_edited"
        ]
      },
      "GitSyncOperationState": {
        "type": "string",
        "description": "* `running`: The operation is still running\n* `failure`: The operation failed\n* `success`: The operation was successful\n",
        "enum": [
          "running",
          "failure",
          "success"
        ]
      },
      "GitSyncOperationDirection": {
        "type": "string",
        "enum": [
          "export",
          "import"
        ]
      },
      "GitSyncOperationStage": {
        "type": "string",
        "description": "Core stages of a Git Sync process. This is not exhaustive, but should cover\nthe important ones.\n- repo_fetch: Includes fetching the latest repository contents from remote provider.\n- config_check: Includes checking if the YAML config is valid, etc.\n- content_process: Includes processing of pages & files to be imported/exported.\n- finalize: Includes finalizing the sync process like creating the commit on git, or\ncreating a new revision.\n",
        "enum": [
          "repo_fetch",
          "config_check",
          "content_process",
          "finalize"
        ]
      },
      "GitSyncOperation": {
        "type": "object",
        "properties": {
          "state": {
            "$ref": "#/components/schemas/GitSyncOperationState"
          },
          "direction": {
            "$ref": "#/components/schemas/GitSyncOperationDirection"
          },
          "stage": {
            "$ref": "#/components/schemas/GitSyncOperationStage"
          },
          "dispatchedTasks": {
            "type": "number"
          },
          "completedTasks": {
            "type": "number"
          },
          "startedAt": {
            "description": "Date when the operation was started",
            "$ref": "#/components/schemas/Timestamp"
          },
          "updatedAt": {
            "description": "Date when the operation was last updated",
            "$ref": "#/components/schemas/Timestamp"
          },
          "completedAt": {
            "description": "Date when the operation was successful (when state is `success`)",
            "$ref": "#/components/schemas/Timestamp"
          },
          "error": {
            "type": "string",
            "description": "Error details, defined if state is `failure`."
          }
        },
        "required": [
          "state",
          "direction",
          "stage",
          "dispatchedTasks",
          "completedTasks",
          "startedAt",
          "updatedAt"
        ]
      },
      "IntegrationEnvironmentSpaceInstallation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationContentInstallationBase"
          },
          {
            "type": "object",
            "properties": {
              "space": {
                "description": "The space the integration is installed on.",
                "type": "string"
              }
            },
            "required": [
              "space"
            ]
          }
        ]
      },
      "IntegrationEnvironmentSiteInstallation": {
        "allOf": [
          {
            "$ref": "#/components/schemas/IntegrationContentInstallationBase"
          },
          {
            "type": "object",
            "properties": {
              "site": {
                "description": "The site the integration is installed on.",
                "type": "string"
              }
            },
            "required": [
              "site"
            ]
          }
        ]
      },
      "IntegrationEnvironment": {
        "type": "object",
        "description": "Runtime environment provided during the execution of integration's code.",
        "properties": {
          "authToken": {
            "type": "string",
            "description": "Authentication token to use with the HTTP API. Depending on the context, the token might be representing the installation or the integration.",
            "deprecated": true
          },
          "integration": {
            "$ref": "#/components/schemas/Integration"
          },
          "installation": {
            "$ref": "#/components/schemas/IntegrationInstallation"
          },
          "spaceInstallation": {
            "$ref": "#/components/schemas/IntegrationEnvironmentSpaceInstallation"
          },
          "siteInstallation": {
            "$ref": "#/components/schemas/IntegrationEnvironmentSiteInstallation"
          },
          "secrets": {
            "$ref": "#/components/schemas/IntegrationSecrets"
          },
          "signingSecret": {
            "type": "string",
            "description": "Secret that can be used to verify the authenticity of incoming HTTP requests to the integration.",
            "deprecated": true
          },
          "signingSecrets": {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "Secret that can be used to verify the authenticity of incoming HTTP requests to the integration."
              },
              "installation": {
                "type": "string",
                "description": "Secret that can be used to verify the authenticity of incoming HTTP requests to the installation."
              },
              "spaceInstallation": {
                "type": "string",
                "description": "Secret that can be used to verify the authenticity of incoming HTTP requests to the space installation."
              },
              "siteInstallation": {
                "type": "string",
                "description": "Secret that can be used to verify the authenticity of incoming HTTP requests to the site installation."
              }
            },
            "required": [
              "integration"
            ]
          },
          "apiEndpoint": {
            "type": "string",
            "description": "URL of the HTTP API"
          },
          "apiTokens": {
            "type": "object",
            "properties": {
              "integration": {
                "type": "string",
                "description": "API authentication token representing the integration."
              },
              "installation": {
                "type": "string",
                "description": "API authentication token representing the current installation."
              }
            },
            "required": [
              "integration"
            ]
          },
          "network": {
            "$ref": "#/components/schemas/IntegrationNetwork",
            "description": "Network configuration for the integration environment"
          }
        },
        "required": [
          "apiEndpoint",
          "apiTokens",
          "integration",
          "signingSecrets",
          "secrets"
        ]
      },
      "SpaceIntegrationScript": {
        "type": "object",
        "properties": {
          "script": {
            "description": "Script URL to load.",
            "$ref": "#/components/schemas/URL"
          },
          "contentSecurityPolicy": {
            "description": "Content Security Policy to secure the loading of this script.",
            "type": "string"
          },
          "cookies": {
            "type": "boolean",
            "description": "If true, the script will potentially load use cookies and visitors should be aware."
          }
        },
        "required": [
          "script",
          "cookies"
        ]
      },
      "ContentComputeDocumentEventResponse": {
        "type": "object",
        "description": "Response expected for an event of type `content_compute_document`.",
        "properties": {
          "document": {
            "$ref": "#/components/schemas/Document"
          }
        },
        "required": [
          "document"
        ]
      },
      "ContentComputeRevisionEventResponse": {
        "type": "object",
        "description": "Response expected for an event of type `content_compute_pages`.",
        "properties": {
          "pages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputPage"
            }
          },
          "files": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputFile"
            }
          }
        }
      },
      "BillingStatus": {
        "type": "string",
        "enum": [
          "trialing",
          "active",
          "past_due",
          "incomplete_expired",
          "canceled",
          "unpaid",
          "paused"
        ]
      },
      "APIIntegrationScope": {
        "type": "string",
        "enum": [
          "integration:read",
          "integration:update",
          "integration:installation:read",
          "integration:installation:update"
        ]
      },
      "APIScope": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/IntegrationScope"
          },
          {
            "$ref": "#/components/schemas/APIIntegrationScope"
          }
        ]
      },
      "ContentAPIBaseToken": {
        "type": "object",
        "description": "Common properties for all Content API tokens.",
        "properties": {
          "organization": {
            "type": "string",
            "description": "ID of the organization that owns the content. A content token is always scoped to spaces from the same organization."
          },
          "spaces": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of spaces that the token is allowed to access."
          },
          "claims": {
            "type": "object",
            "description": "Attributes or assertions that provide specific details about the visitor for which the token was generated.",
            "additionalProperties": true
          },
          "rateLimitMultiplier": {
            "type": "number",
            "description": "Multiplier for the rate limit applied to the token."
          }
        },
        "required": [
          "organization",
          "spaces"
        ]
      },
      "SpaceAPIToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentAPIBaseToken"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "space"
                ]
              },
              "space": {
                "type": "string",
                "description": "ID of the space that the token is allowed to access."
              }
            },
            "required": [
              "kind",
              "space"
            ]
          }
        ]
      },
      "CollectionAPIToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentAPIBaseToken"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "collection"
                ]
              },
              "collection": {
                "type": "string",
                "description": "ID of the collection that the token is allowed to access."
              }
            },
            "required": [
              "kind",
              "collection"
            ]
          }
        ]
      },
      "SiteAPIToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ContentAPIBaseToken"
          },
          {
            "type": "object",
            "properties": {
              "kind": {
                "type": "string",
                "enum": [
                  "site"
                ]
              },
              "site": {
                "type": "string",
                "description": "ID of the site that the token is allowed to access."
              },
              "siteSpace": {
                "type": "string",
                "description": "ID of the site-space to be used when using this token for rendering published content."
              },
              "siteSection": {
                "type": "string",
                "description": "ID of the site-section to be used when using this token for rendering published content. Only defined for section sites."
              },
              "space": {
                "type": "string",
                "description": "ID of the space to be used when using this token for rendering published content."
              },
              "draft": {
                "type": "boolean",
                "default": false,
                "description": "Whether to include draft data when using this token for rendering content. If false, only live data will be included when rendering content with this token."
              }
            },
            "required": [
              "kind",
              "site",
              "siteSpace",
              "space"
            ]
          }
        ]
      },
      "ContentAPITokenPayload": {
        "description": "Content properties stored in a Content API token.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/SpaceAPIToken"
          },
          {
            "$ref": "#/components/schemas/CollectionAPIToken"
          },
          {
            "$ref": "#/components/schemas/SiteAPIToken"
          }
        ]
      },
      "APIChannelSpaceInfo": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpaceContent": {
        "type": "object",
        "description": "Channel notified when the main content of a space is changed.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-content"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpaceGitInfo": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-git-info"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpacePublishingAuth": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-publishing-auth"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpacePublishingCustomization": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-publishing-customization"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpaceContentRefs": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-content-refs"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelSpaceIntegrations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-integrations"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelUserAPITokens": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "user-api-tokens"
            ]
          },
          "user": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "user"
        ]
      },
      "APIChannelUserOrganizations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "user-organizations"
            ]
          },
          "user": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "user"
        ]
      },
      "APIChannelUserProfile": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "user-profile"
            ]
          },
          "user": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "user"
        ]
      },
      "APIChannelChangeRequest": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-request"
            ]
          },
          "space": {
            "type": "string"
          },
          "changeRequest": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "changeRequest"
        ]
      },
      "APIChannelChangeRequests": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-requests"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelChangeRequestReviews": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-request-reviews"
            ]
          },
          "space": {
            "type": "string"
          },
          "changeRequest": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "changeRequest"
        ]
      },
      "APIChannelChangeRequestContentRefs": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-request-content-refs"
            ]
          },
          "space": {
            "type": "string"
          },
          "changeRequest": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "changeRequest"
        ]
      },
      "APIChannelCollection": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "collection"
            ]
          },
          "collection": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "collection"
        ]
      },
      "APIChannelCollectionPublishingCustomization": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "collection-publishing-customization"
            ]
          },
          "collection": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "collection"
        ]
      },
      "APIChannelOrganizationInfo": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationAgentData": {
        "type": "object",
        "description": "Subscription channel for changes in Docs Agent data in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-agent-data"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationInviteLinks": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-link-invites"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationMembers": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-members"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationMember": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-member"
            ]
          },
          "organization": {
            "type": "string"
          },
          "user": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization",
          "user"
        ]
      },
      "APIChannelOrganizationSAML": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-saml"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationTeams": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-teams"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationTeam": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-team"
            ]
          },
          "organization": {
            "type": "string"
          },
          "team": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization",
          "team"
        ]
      },
      "APIChannelOrganizationTeamMembers": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-team-members"
            ]
          },
          "organization": {
            "type": "string"
          },
          "team": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization",
          "team"
        ]
      },
      "APIChannelOrganizationTeamMember": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-team-member"
            ]
          },
          "organization": {
            "type": "string"
          },
          "team": {
            "type": "string"
          },
          "member": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization",
          "member"
        ]
      },
      "APIChannelOrganizationSpaces": {
        "type": "object",
        "description": "Subscription channel for changes in spaces in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-spaces"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationCollections": {
        "type": "object",
        "description": "Subscription channel for changes in collections in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-collections"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationIntegrations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-integrations"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationInstallations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-installations"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationSites": {
        "type": "object",
        "description": "Subscription channel for changes in sites in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-sites"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationOpenAPISpecs": {
        "type": "object",
        "description": "Subscription channel for changes in OpenAPI specifications in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-openapi-specs"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationTranslations": {
        "type": "object",
        "description": "Subscription channel for changes in translations in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-translations"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationTranslationsGlossary": {
        "type": "object",
        "description": "Subscription channel for changes in the glossary in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-translations-glossary"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationCustomFonts": {
        "type": "object",
        "description": "Subscription channel for changes in custom fonts in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-fonts"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationAgentInstructions": {
        "type": "object",
        "description": "Subscription channel for Docs agent instructions changes in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-agent-instructions"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelOrganizationChangeRequests": {
        "type": "object",
        "description": "Subscription channel for all change requests in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "organization-change-requests"
            ]
          },
          "organization": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "organization"
        ]
      },
      "APIChannelSpaceComments": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-comments"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelChangeRequestComments": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-request-comments"
            ]
          },
          "space": {
            "type": "string"
          },
          "changeRequest": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "changeRequest"
        ]
      },
      "APIChannelCommentInfo": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-comment"
            ]
          },
          "space": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "comment"
        ]
      },
      "APIChannelCommentReplies": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-comment-replies"
            ]
          },
          "space": {
            "type": "string"
          },
          "comment": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space",
          "comment"
        ]
      },
      "APIChannelIntegration": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration"
            ]
          },
          "integration": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration"
        ]
      },
      "APIChannelIntegrationInstallation": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration-installation"
            ]
          },
          "integration": {
            "type": "string"
          },
          "installation": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration",
          "installation"
        ]
      },
      "APIChannelIntegrationSpaceInstallation": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration-space-installation"
            ]
          },
          "integration": {
            "type": "string"
          },
          "installation": {
            "type": "string"
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration",
          "installation",
          "space"
        ]
      },
      "APIChannelIntegrationSpaceInstallations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration-space-installations"
            ]
          },
          "integration": {
            "type": "string"
          },
          "installation": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration",
          "installation"
        ]
      },
      "APIChannelIntegrationSiteInstallation": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration-site-installation"
            ]
          },
          "integration": {
            "type": "string"
          },
          "installation": {
            "type": "string"
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration",
          "installation",
          "site"
        ]
      },
      "APIChannelIntegrationSiteInstallations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "integration-site-installations"
            ]
          },
          "integration": {
            "type": "string"
          },
          "installation": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "integration",
          "installation"
        ]
      },
      "APIChannelPublishedContentSite": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "published-content-site"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteRedirects": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-redirects"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSite": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteContext": {
        "type": "object",
        "description": "Subscription channel for changes in site context.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-context"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteCustomization": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-customization"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteIntegrations": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-integrations"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteSpace": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-space"
            ]
          },
          "site": {
            "type": "string"
          },
          "siteSpace": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site",
          "siteSpace"
        ]
      },
      "APIChannelSiteSpaceCustomization": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-space-customization"
            ]
          },
          "site": {
            "type": "string"
          },
          "siteSpace": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site",
          "siteSpace"
        ]
      },
      "APIChannelSiteStructure": {
        "type": "object",
        "description": "Subscription channel for changes in site structure in an organization.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-structure"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteAdaptiveSchema": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-adaptive-schema"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSitePublishingAuth": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-publishing-auth"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteShareLinks": {
        "type": "object",
        "description": "Subscription channel for changes in share links in a site",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-share-links"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteShareLink": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-share-link"
            ]
          },
          "site": {
            "type": "string"
          },
          "siteShareLink": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site",
          "siteShareLink"
        ]
      },
      "APIChannelSiteMcpServers": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-mcp-servers"
            ]
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site"
        ]
      },
      "APIChannelSiteMcpServer": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-mcp-server"
            ]
          },
          "site": {
            "type": "string"
          },
          "siteMcpServer": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site",
          "siteMcpServer"
        ]
      },
      "APIChannelSiteSection": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "site-section"
            ]
          },
          "site": {
            "type": "string"
          },
          "siteSection": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "site",
          "siteSection"
        ]
      },
      "APIChannelCustomHostname": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "custom-hostname"
            ]
          },
          "customHostname": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "customHostname"
        ]
      },
      "APIChannelGitSyncOperation": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-gitsync-operation"
            ]
          },
          "space": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "space"
        ]
      },
      "APIChannelOpenAPISpec": {
        "type": "object",
        "description": "Subscription channel for changes in OpenAPI specification.",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "openapi-spec"
            ]
          },
          "openAPISpec": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "openAPISpec"
        ]
      },
      "APIChannelSubdomain": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "subdomain"
            ]
          },
          "subdomain": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "subdomain"
        ]
      },
      "APIChannelTranslation": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "translation"
            ]
          },
          "translation": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "translation"
        ]
      },
      "APIChannelTranslationRun": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "translation-run"
            ]
          },
          "translation": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "translation"
        ]
      },
      "APIChannelImportRun": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "import-run"
            ]
          },
          "runId": {
            "type": "string"
          }
        },
        "required": [
          "channel",
          "runId"
        ]
      },
      "APIChannel": {
        "description": "Channel to subscribe to for realtime updates.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/APIChannelSpaceInfo"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceContent"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceGitInfo"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpacePublishingAuth"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpacePublishingCustomization"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceContentRefs"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceIntegrations"
          },
          {
            "$ref": "#/components/schemas/APIChannelUserAPITokens"
          },
          {
            "$ref": "#/components/schemas/APIChannelUserOrganizations"
          },
          {
            "$ref": "#/components/schemas/APIChannelUserProfile"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequest"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequests"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequestReviews"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequestContentRefs"
          },
          {
            "$ref": "#/components/schemas/APIChannelCollection"
          },
          {
            "$ref": "#/components/schemas/APIChannelCollectionPublishingCustomization"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationInfo"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationAgentData"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationInviteLinks"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationMembers"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationMember"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationSAML"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTeams"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTeam"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTeamMembers"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTeamMember"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationSpaces"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationCollections"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationIntegrations"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationInstallations"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationSites"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationOpenAPISpecs"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTranslations"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationTranslationsGlossary"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationCustomFonts"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationAgentInstructions"
          },
          {
            "$ref": "#/components/schemas/APIChannelOrganizationChangeRequests"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceComments"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequestComments"
          },
          {
            "$ref": "#/components/schemas/APIChannelCommentInfo"
          },
          {
            "$ref": "#/components/schemas/APIChannelCommentReplies"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegration"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegrationInstallation"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegrationSpaceInstallation"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegrationSpaceInstallations"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegrationSiteInstallation"
          },
          {
            "$ref": "#/components/schemas/APIChannelIntegrationSiteInstallations"
          },
          {
            "$ref": "#/components/schemas/APIChannelPublishedContentSite"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteRedirects"
          },
          {
            "$ref": "#/components/schemas/APIChannelSite"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteContext"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteCustomization"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteIntegrations"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteSpace"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteSpaceCustomization"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteStructure"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteAdaptiveSchema"
          },
          {
            "$ref": "#/components/schemas/APIChannelSitePublishingAuth"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteShareLinks"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteShareLink"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteMcpServers"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteMcpServer"
          },
          {
            "$ref": "#/components/schemas/APIChannelSiteSection"
          },
          {
            "$ref": "#/components/schemas/APIChannelCustomHostname"
          },
          {
            "$ref": "#/components/schemas/APIChannelGitSyncOperation"
          },
          {
            "$ref": "#/components/schemas/APIChannelOpenAPISpec"
          },
          {
            "$ref": "#/components/schemas/APIChannelSubdomain"
          },
          {
            "$ref": "#/components/schemas/APIChannelTranslation"
          },
          {
            "$ref": "#/components/schemas/APIChannelTranslationRun"
          },
          {
            "$ref": "#/components/schemas/APIChannelImportRun"
          }
        ],
        "discriminator": {
          "propertyName": "channel"
        }
      },
      "APIChannelTranslationRunData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "translation-run"
            ]
          },
          "data": {
            "type": "object",
            "properties": {
              "progress": {
                "type": "number",
                "description": "The progress of the translation run, between 0 and 100."
              },
              "startedAt": {
                "$ref": "#/components/schemas/Timestamp"
              },
              "updatedAt": {
                "$ref": "#/components/schemas/Timestamp"
              }
            },
            "required": [
              "progress",
              "startedAt",
              "updatedAt"
            ]
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelImportRunData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "import-run"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/ContentImportRun"
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelGitSyncOperationData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-gitsync-operation"
            ]
          },
          "data": {
            "$ref": "#/components/schemas/GitSyncOperation"
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelSpaceContentRefsData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-content-refs"
            ]
          },
          "data": {
            "type": "object",
            "description": "Data passed on the channel messages for content refs indexation.",
            "properties": {
              "revision": {
                "type": "string",
                "description": "ID of the latest indexed revision"
              },
              "updatedAt": {
                "type": "number"
              }
            },
            "required": [
              "revision",
              "updatedAt"
            ]
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelChangeRequestContentRefsData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "space-change-request-content-refs"
            ]
          },
          "data": {
            "type": "object",
            "description": "Data passed on the channel messages for content refs indexation.",
            "properties": {
              "revision": {
                "type": "string",
                "description": "ID of the latest indexed revision"
              },
              "updatedAt": {
                "type": "number"
              }
            },
            "required": [
              "revision",
              "updatedAt"
            ]
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelMutationData": {
        "type": "object",
        "properties": {
          "channel": {
            "type": "string",
            "enum": [
              "*"
            ]
          },
          "data": {
            "type": "object",
            "description": "Data passed on the channels associated to API endpoints.",
            "properties": {
              "executionId": {
                "type": "string",
                "description": "ID of the API execution that triggered the mutation."
              }
            },
            "required": [
              "executionId"
            ]
          }
        },
        "required": [
          "channel",
          "data"
        ]
      },
      "APIChannelData": {
        "description": "Data passed through a realtime channel",
        "oneOf": [
          {
            "$ref": "#/components/schemas/APIChannelGitSyncOperationData"
          },
          {
            "$ref": "#/components/schemas/APIChannelSpaceContentRefsData"
          },
          {
            "$ref": "#/components/schemas/APIChannelChangeRequestContentRefsData"
          },
          {
            "$ref": "#/components/schemas/APIChannelTranslationRunData"
          },
          {
            "$ref": "#/components/schemas/APIChannelImportRunData"
          },
          {
            "$ref": "#/components/schemas/APIChannelMutationData"
          }
        ],
        "discriminator": {
          "propertyName": "channel"
        }
      },
      "SiteAdaptiveDeterministicJSONSchemaClaimsProperties": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteAdaptiveDeterministicJSONSchemaPrimitives"
          },
          {
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "object"
                ]
              },
              "description": {
                "type": "string"
              },
              "properties": {
                "type": "object",
                "additionalProperties": {
                  "$ref": "#/components/schemas/SiteAdaptiveDeterministicJSONSchemaClaimsProperties"
                }
              },
              "additionalProperties": {
                "type": "boolean",
                "enum": [
                  false
                ]
              }
            },
            "required": [
              "type",
              "description",
              "properties",
              "additionalProperties"
            ],
            "additionalProperties": false
          }
        ]
      },
      "SiteAdsStatus": {
        "type": "string",
        "description": "The status of ads on the site",
        "enum": [
          "pending",
          "in-review",
          "live",
          "rejected",
          "disabled"
        ]
      },
      "SiteChannelType": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/SiteCoreChannelType"
          },
          {
            "$ref": "#/components/schemas/SiteConfigurableChannelType"
          }
        ]
      },
      "SiteQuestionAnswerSourceType": {
        "type": "string",
        "description": "Source type used to answer a site question.",
        "enum": [
          "page",
          "record"
        ]
      },
      "Seat": {
        "type": "object",
        "properties": {
          "object": {
            "type": "string",
            "enum": [
              "seat"
            ]
          },
          "organization": {
            "description": "The unique ID of the organization",
            "type": "string"
          },
          "member": {
            "description": "The unique ID of the organization member",
            "type": "string"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "object",
          "organization",
          "member",
          "createdAt",
          "updatedAt"
        ]
      },
      "AgentStreamMessages": {
        "type": "object",
        "description": "Payload emitted by the agent to reset the messages.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "messages"
            ]
          },
          "operation": {
            "type": "string",
            "enum": [
              "append",
              "replace"
            ]
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AIMessage"
            }
          }
        },
        "required": [
          "type",
          "operation",
          "messages"
        ]
      },
      "AgentStreamMessageResponse": {
        "type": "object",
        "description": "Payload emitted by the agent with a partial message.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "message_response"
            ]
          },
          "response": {
            "$ref": "#/components/schemas/AIStreamResponse"
          }
        },
        "required": [
          "type",
          "response"
        ]
      },
      "AgentStatus": {
        "type": "string",
        "enum": [
          "idle",
          "processing",
          "errored"
        ]
      },
      "AgentState": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/AgentStatus"
          },
          "suggestions": {
            "type": "array",
            "description": "A list of response suggestions for the user to select from.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "status",
          "suggestions"
        ]
      },
      "AgentStreamState": {
        "type": "object",
        "description": "Payload emitted by the agent with its current state.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "state"
            ]
          },
          "state": {
            "$ref": "#/components/schemas/AgentState"
          }
        },
        "required": [
          "type",
          "state"
        ]
      },
      "AgentStreamRPC": {
        "type": "object",
        "description": "Payload emitted by the agent is responding to a RPC call.\n",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "rpc"
            ]
          },
          "message": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "object"
              }
            ]
          }
        },
        "required": [
          "type",
          "message"
        ]
      },
      "AgentStream": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AgentStreamMessages"
          },
          {
            "$ref": "#/components/schemas/AgentStreamMessageResponse"
          },
          {
            "$ref": "#/components/schemas/AgentStreamState"
          },
          {
            "$ref": "#/components/schemas/AgentStreamRPC"
          }
        ]
      },
      "MergeRulesEvaluationContext": {
        "type": "object",
        "description": "Context available when evaluating merge rules expressions.",
        "properties": {
          "space": {
            "$ref": "#/components/schemas/Space"
          },
          "changeRequest": {
            "$ref": "#/components/schemas/ChangeRequest"
          },
          "reviews": {
            "description": "The reviews posted on the change request.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ChangeRequestReview"
            }
          },
          "actor": {
            "description": "The user who is attempting to merge the change request.",
            "$ref": "#/components/schemas/User"
          }
        },
        "required": [
          "space",
          "changeRequest",
          "reviews",
          "actor"
        ]
      },
      "RequestSpaceTrackPageView": {
        "$ref": "#/components/schemas/SpaceTrackPageView"
      },
      "RequestSiteTrackPageView": {
        "$ref": "#/components/schemas/SiteTrackPageView"
      },
      "RequestPublishIntegration": {
        "$ref": "#/components/schemas/PublishIntegration"
      },
      "RequestUpdateIntegrationInstallation": {
        "$ref": "#/components/schemas/UpdateIntegrationInstallation"
      },
      "RequestUpdateIntegrationSpaceInstallation": {
        "$ref": "#/components/schemas/UpdateIntegrationSpaceInstallation"
      },
      "RequestUpdateIntegrationSiteInstallation": {
        "$ref": "#/components/schemas/UpdateIntegrationSiteInstallation"
      },
      "RequestUpgradeOrganizationBilling": {
        "$ref": "#/components/schemas/UpgradeOrganizationBilling"
      },
      "RequestInviteUsersToOrganization": {
        "$ref": "#/components/schemas/InviteUsersToOrganization"
      },
      "RequestImportGitRepository": {
        "$ref": "#/components/schemas/ImportGitRepository"
      },
      "RequestExportToGitRepository": {
        "$ref": "#/components/schemas/ExportToGitRepository"
      },
      "RequestCreateSpace": {
        "$ref": "#/components/schemas/CreateSpace"
      },
      "RequestRenderIntegrationUI": {
        "$ref": "#/components/schemas/RenderIntegrationUI"
      },
      "RequestUpdateContentPublishingAuth": {
        "$ref": "#/components/schemas/UpdateContentPublishingAuth"
      },
      "RequestCreateOrganization": {
        "$ref": "#/components/schemas/CreateOrganization"
      },
      "RequestUpdateSpaceGitInfo": {
        "$ref": "#/components/schemas/UpdateSpaceGitInfo"
      },
      "RequestPurgeCDNCacheContext": {
        "$ref": "#/components/schemas/PurgeCDNCacheContext"
      },
      "DocumentTextBackgroundColor": {
        "$ref": "#/components/schemas/DocumentTextColor"
      },
      "SpaceVisitorAuth": {
        "$ref": "#/components/schemas/VisitorAuth"
      },
      "SpaceVisitorAuthCustomBackend": {
        "$ref": "#/components/schemas/VisitorAuthCustomBackend"
      },
      "SpaceVisitorAuthIntegrationBackend": {
        "$ref": "#/components/schemas/VisitorAuthIntegrationBackend"
      },
      "IngegrationPropertyTitle": {
        "$ref": "#/components/schemas/IntegrationPropertyTitle"
      },
      "UserPermissions": {
        "$ref": "#/components/schemas/_index"
      },
      "SiteRedirectDestinationSpace": {
        "$ref": "#/components/schemas/SiteRedirectDestinationSiteSpace"
      },
      "OpenAPISpecSourceURL": {
        "$ref": "#/components/schemas/URL"
      }
    },
    "responses": {
      "NotFoundError": {
        "description": "Not Found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "error"
              ],
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "format": "int32",
                      "enum": [
                        404
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ]
                }
              }
            }
          }
        }
      },
      "BadRequestError": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "error"
              ],
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "format": "int32",
                      "enum": [
                        400
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ]
                }
              }
            }
          }
        }
      },
      "ConflictError": {
        "description": "Conflict",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "error"
              ],
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "format": "int32",
                      "enum": [
                        409
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ]
                }
              }
            }
          }
        }
      },
      "PreconditionFailedError": {
        "description": "PreconditionFailed",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "required": [
                "error"
              ],
              "properties": {
                "error": {
                  "type": "object",
                  "properties": {
                    "code": {
                      "type": "integer",
                      "format": "int32",
                      "enum": [
                        412
                      ]
                    },
                    "message": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "code",
                    "message"
                  ]
                }
              }
            }
          }
        }
      },
      "UnexpectedError": {
        "description": "Unexpected Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    }
  }
}