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. {% openapi-schemas spec="gitbook" schemas="Organization" grouped="false" %} The Organization object {% endopenapi-schemas %} - 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. - 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. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="Site" grouped="false" %} The Site object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="ShareLink" grouped="false" %} The ShareLink object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteStructure" grouped="false" %} The SiteStructure object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SitePublishingAuth" grouped="false" %} The SitePublishingAuth object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="SiteCustomizationSettings" grouped="false" %} The SiteCustomizationSettings object {% endopenapi-schemas %} - name: site-agent-settings x-page-title: Site agent settings x-page-description: Configure site-specific issue remediation behavior and agent instructions. x-parent: sites description: | Configure how site issue remediation should behave and provide site-specific instructions for the editing and topic analyst agents. {% openapi-schemas spec="gitbook" schemas="SiteAgentSettings" grouped="false" %} The SiteAgentSettings object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteSpace" grouped="false" %} The SiteSpace object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteSection" grouped="false" %} The SiteSection object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteSectionGroup" grouped="false" %} The SiteSectionGroup object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteRedirect" grouped="false" %} The SiteRedirect object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteMcpServer" grouped="false" %} The SiteMcpServer object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteChannel" grouped="false" %} The SiteChannel object {% endopenapi-schemas %} - 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. - 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. - 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. - 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. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="ContextRecord,ContextConnection,SiteTopic,SiteFinding,SiteFindingPage" grouped="false" %} The Site Context objects {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="SiteQuestion,SiteQuestionAnswer,SiteQuestionAnswerWithResponse,SiteQuestionAnswerSource" grouped="false" %} The Site Questions objects {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="Collection" grouped="false" %} The Collection object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="Space" grouped="false" %} The Space object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="Comment" grouped="false" %} The Comment object {% endopenapi-schemas %} - 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. - 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. - 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. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="ChangeRequest" grouped="false" %} The ChangeRequest object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="UserContributor" grouped="false" %} The UserContributor object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="ChangeRequestRequestedReviewer" grouped="false" %} The ChangeRequestRequestedReviewer object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="Comment" grouped="false" %} The Comment object {% endopenapi-schemas %} - 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. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="TranslationLanguageSettings" grouped="false" %} The TranslationLanguageSettings object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="GlossaryEntry" grouped="false" %} The GlossaryEntry object {% endopenapi-schemas %} - 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, finding trackers, or CI/CD pipelines—through standardized integration endpoints. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="OpenAPISpec" grouped="false" %} The OpenAPISpec object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="OpenAPISpecVersion" grouped="false" %} The OpenAPISpecVersion object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="CustomizationFontDefinition" grouped="false" %} The CustomizationFontDefinition object {% endopenapi-schemas %} - 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. - 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. - 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. {% openapi-schemas spec="gitbook" schemas="Subdomain" grouped="false" %} The Subdomain object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="User" grouped="false" %} The User object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="Team" grouped="false" %} The Team object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="TeamMember" grouped="false" %} The TeamMember object {% endopenapi-schemas %} - 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. {% openapi-schemas spec="gitbook" schemas="Subdomain" grouped="false" %} The Subdomain object {% endopenapi-schemas %} - 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. - 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. {% openapi-schemas spec="gitbook" schemas="CustomHostname" grouped="false" %} The CustomHostname object {% endopenapi-schemas %} - 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. 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/User" "404": description: User not found $ref: "#/components/responses/NotFoundError" /user/notifications/token: post: operationId: createUserNotificationsToken summary: Create a JWT to access the in-app notifications service description: | Generates a JWT for the authenticated user. This token is used by the frontend notifications client to access user endpoints. tags: - users security: - user-internal: [] responses: "200": description: The notifications service User JWT content: application/json: schema: $ref: "#/components/schemas/APITemporaryToken" "/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. 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. 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}/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" links: $ref: "#/components/schemas/ChangeRequestLinks" 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. 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. 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. 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. 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. 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. 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. This endpoint allows existing users to join organizations they're eligible for based on their email domain. 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. 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. At least one font face with weight 400 (regular) must be provided. 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. 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" permissionsModel: $ref: "#/components/schemas/SitePermissionsModel" defaultLevel: $ref: "#/components/schemas/DefaultLevel" 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`. Use `null` to remove the proxy. 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. draft: type: boolean default: false description: Whether the site space should be created as draft. Defaults to false. 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. draft: type: boolean description: Whether the section group should be created in draft mode. 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/LocalizedString128" icon: oneOf: - $ref: "#/components/schemas/Icon" - type: "null" draft: type: boolean description: Whether the site section group is draft and not live. 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}/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" draft: type: boolean description: Whether the section should be created in draft mode. siteSectionGroupId: type: string description: ID of the section group to create the section in 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/LocalizedString128" 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" draft: type: boolean description: Whether the site section is draft and not live. description: oneOf: - $ref: "#/components/schemas/SiteSectionDescription" - type: "null" localizedDescription: $ref: "#/components/schemas/LocalizedString256" siteSectionGroupId: description: ID of the section group to move the section into. Set to null to move the section to the root of the site. oneOf: - type: string - type: "null" 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. 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}/scans": get: operationId: listSiteScans summary: List all site scans 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 scans by associated site topic ID. schema: type: string - name: status in: query description: Filter scans by status. schema: $ref: "#/components/schemas/SiteScanStatus" 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/SiteScan" post: operationId: createSiteScan summary: Enqueue a new site scan tags: - site-context security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" requestBody: required: true content: application/json: schema: type: object required: - topic properties: topic: type: string description: The site topic ID to scan. responses: "202": description: Site scan has been enqueued content: application/json: schema: $ref: "#/components/schemas/SiteScan" "/orgs/{organizationId}/sites/{siteId}/scans/{siteScanId}": get: operationId: getSiteScanById summary: Get a site scan by ID tags: - site-context security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" - $ref: "#/components/parameters/siteScanId" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SiteScan" "/orgs/{organizationId}/sites/{siteId}/findings": get: operationId: listSiteFindings summary: List all site context findings 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 findings by associated site topic ID. schema: type: string - name: status in: query description: Filter findings by status. schema: $ref: "#/components/schemas/SiteFindingStatus" - name: type in: query description: Filter findings by type. schema: $ref: "#/components/schemas/SiteFindingType" - name: severity in: query description: Filter findings by estimated severity. schema: $ref: "#/components/schemas/SiteFindingSeverity" 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/SiteFinding" "/orgs/{organizationId}/sites/{siteId}/findings/{siteFindingId}": get: operationId: getSiteFindingById summary: Get a site finding by ID tags: - site-context security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" - $ref: "#/components/parameters/siteFindingId" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SiteFinding" patch: operationId: updateSiteFindingById summary: Update a site finding tags: - site-context security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" - $ref: "#/components/parameters/siteFindingId" 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/SiteFinding" "/orgs/{organizationId}/sites/{siteId}/findings/{siteFindingId}/change-requests": get: operationId: listChangeRequestsForSiteFinding summary: List change requests linked to a site finding 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/siteFindingId" responses: "200": description: List of change requests linked to the site finding content: application/json: schema: allOf: - $ref: "#/components/schemas/List" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/ChangeRequest" post: operationId: triggerChangeRequestsForSiteFinding summary: Process a site finding into change requests tags: - site-context security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" - $ref: "#/components/parameters/siteFindingId" responses: "202": description: Site finding processing has been started "/orgs/{organizationId}/sites/{siteId}/findings/{siteFindingId}/pages": get: operationId: listPagesForSiteFinding summary: List pages linked to a site finding 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/siteFindingId" responses: "200": description: List of pages linked to the site finding content: application/json: schema: allOf: - $ref: "#/components/schemas/List" - type: object required: - items properties: items: type: array items: $ref: "#/components/schemas/SiteFindingPage" "/orgs/{organizationId}/sites/{siteId}/findings/{siteFindingId}/questions": get: operationId: listQuestionsForSiteFinding summary: List questions linked to a site finding 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/siteFindingId" responses: "200": description: List of questions linked to the site finding 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}/findings/{siteFindingId}/records": get: operationId: listRecordsForSiteFinding summary: List records linked to a site finding 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/siteFindingId" responses: "200": description: List of records linked to the site finding 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}/findings": delete: operationId: deleteSiteTopicFindings summary: Delete all findings 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 findings or did not exist "205": description: Topic findings 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: relevance in: query description: Filter questions by question relevance. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerRelevance" - name: answered in: query description: Filter questions by answer resolution. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerResolution" - name: topic in: query description: Filter questions by associated site topic IDs. schema: type: array items: type: string - $ref: "#/components/parameters/listOrder" - name: sort in: query description: Sort questions by latest ask activity, answered rate, or positive feedback rate. If omitted, ordering stays on canonical question creation date to preserve current behavior. schema: type: string enum: - askedAt - stats.answered - stats.feedback - stats.answers - $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" - 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: relevance in: query description: Filter stats by question relevance. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerRelevance" - name: answered in: query description: Filter stats by answer resolution. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerResolution" 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" - name: from in: query description: Filter sources to answers created at or after this timestamp. schema: $ref: "#/components/schemas/Timestamp" - name: to in: query description: Filter sources to answers created at or before this timestamp. schema: $ref: "#/components/schemas/Timestamp" - name: relevance in: query description: Filter answer sources by question relevance. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerRelevance" - name: answered in: query description: Filter answer sources by answer resolution. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerResolution" 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" - name: answered in: query description: Filter stats by answer resolution. schema: type: array items: $ref: "#/components/schemas/SiteQuestionAnswerResolution" 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: from in: query description: Filter answers created at or after this timestamp. schema: $ref: "#/components/schemas/Timestamp" - name: to in: query description: Filter answers created at or before this timestamp. schema: $ref: "#/components/schemas/Timestamp" - 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: type: array items: $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: type: array items: $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. draft: type: boolean description: Whether the site space should be kept in draft mode. Setting it to false makes the site space live. 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/LocalizedString128" - 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/CustomizationDefaultThemeMode" - 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. 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}/agent-settings": get: operationId: getSiteAgentSettingsById summary: Get site agent settings tags: - site-agent-settings security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SiteAgentSettings" "400": $ref: "#/components/responses/BadRequestError" put: operationId: updateSiteAgentSettingsById summary: Update site agent settings tags: - site-agent-settings security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SiteAgentSettingsInput" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SiteAgentSettings" "400": $ref: "#/components/responses/BadRequestError" "/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. required: - source - intent - type: object properties: source: $ref: "#/components/schemas/SiteRedirectSourcePath" intent: type: string enum: - live - draft default: live description: | Redirect operation intent. - live: upsert/delete a live redirect (draft=false) - draft: upsert/delete a draft redirect (draft=true) 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" condition: description: Conditional expression used to evaluate whether the MCP server should be available to the site's visitor (should evaluate to a boolean). If set to null, the condition will be removed. oneOf: - $ref: "#/components/schemas/Expression" - type: "null" 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" condition: description: Conditional expression used to evaluate whether the MCP server should be available 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" 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: role: $ref: "#/components/schemas/SiteChannelRole" 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" patch: operationId: updateSiteChannelById summary: Update a site channel tags: - site-channels security: - user: [] parameters: - $ref: "#/components/parameters/organizationId" - $ref: "#/components/parameters/siteId" - $ref: "#/components/parameters/siteChannelId" requestBody: required: true content: application/json: schema: anyOf: - $ref: "#/components/schemas/SiteChannelSetup" - type: object properties: role: $ref: "#/components/schemas/SiteChannelRole" 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. - When set to `true`, the entire document will be evaluated. - When set to `deterministic-only`, only expressions that depend exclusively on deterministic inputs will be evaluated. 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). - When set to `true`, the entire document will be deferenced - When set to `reusable-contents`, only reusable contents will be deferenced. 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 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 siteScanId: name: siteScanId in: path required: true description: The unique id of the site scan schema: type: string siteFindingId: name: siteFindingId in: path required: true description: The unique id of the site finding 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 APITemporaryToken: type: object properties: token: type: string description: Temporary access token to authenticate with the API required: - token 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. * `unlisted`: Anyone can access the content, and the content is not indexed by search engines * `share-link`: Anyone with a secret token in the url can access the content. * `visitor-auth`: Anyone authenticated through a JWT token can access the content. * `in-collection`: Anyone who can access the parent collection can access the content. Only available for spaces in a collection. * `private`: Authorized members can access the content. enum: - public - unlisted - share-link - visitor-auth - in-collection - private SpaceEditMode: type: string description: | Determines how a Space can be edited. * `live`: Users can directly edit the space * `locked`: All edits are locked for this space. 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. "admin": Can administrate the content: create, delete spaces, ... "create": Can create content. "review": Can review content. "edit": Can edit the content (live or change requests). "comment": Can access the content and its discussions. "read": Can access the content, but cannot update it in any way. 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. $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. $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 stickyHeader: type: boolean description: Should we keep the table header sticky while the page scrolls stickyFirstColumn: type: boolean description: Should we keep the first visible table column sticky while horizontally scrolling useNewSizing: type: boolean description: | Tables in GitBook originally used a scaled width approach i.e. the width defined in columnWidths would be scaled to ensure a 100% width table. We later changed this to treat the widths in columnWidths as exact values - they are never scaled. A columnWidth of 50 is rendered as 50px. In order to maintain backwards compatibility, we track whether or not we use the new system here. All new tables should have this value set to true, older tables will have it set to undefined. 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" - $ref: "#/components/schemas/DocumentBlockUpdates" 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. This property is set when creating a block from a URL (unfurl) to ensure we can convert the block back to an embed. 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 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. * `private`: The spec is not publicly available. * `public`: The spec is available to anyone with a public link. 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. The state of the dependencies will be passed to the computation. When the dependency's targets are updated, the computation will be updated. 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 ChangeRequestLinkTitle: type: string description: Optional title to display for the link. maxLength: 128 ChangeRequestLink: type: object properties: ref: $ref: "#/components/schemas/ContentRefURL" title: $ref: "#/components/schemas/ChangeRequestLinkTitle" required: - ref ChangeRequestLinks: type: array description: External links associated with the change request. items: $ref: "#/components/schemas/ChangeRequestLink" maxItems: 10 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. siteTopic: type: object description: Site context associated with the change request when it was created from a site topic or finding. properties: site: type: string description: ID of the site associated with the change request. topic: type: string description: ID of the site topic associated with the change request. finding: type: string description: ID of the site finding associated with the change request, when applicable. required: - site - topic outdated: type: boolean description: If true, the change request is not up-to-date with latest changes in the main content. links: $ref: "#/components/schemas/ChangeRequestLinks" 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. .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. If false, organization must resolve other billing issues before a checkout can be done. 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. 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: - `ok` - No problems detected for this content reference. - `broken` - The target does not exist in the revision. - `in-app` - The target is a URL link pointing to an internal location in the app. 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. - `reference` - The content soft-references the ref target - `dependsOn` - The content depends on the ref target 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 headers when processing the script fetch event and the blocks fetch events. 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. The integration should respond with a `Document`. 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. The integration should respond with an array of pages and files. 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. * `public`: Anyone can access the site, and the site is indexed by search engines. * `unlisted`: Anyone can access the site, and the site is not indexed by search engines * `share-link`: Anyone with a secret token in the url can access the site. * `visitor-auth`: Anyone authenticated through a JWT token can access the site. enum: - public - unlisted - share-link - visitor-auth SitePermissionsModel: type: string description: Permissions resolution mode for the site. enum: - legacy - site 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-connections - sites-channels - 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" permissionsModel: $ref: "#/components/schemas/SitePermissionsModel" defaultLevel: $ref: "#/components/schemas/DefaultLevel" 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. 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 login: type: string description: | URL of the login endpoint for visitors to authenticate with the site auth backend. format: uri required: - app - location - preview required: - object - id - type - appliedType - title - visibility - permissionsModel - defaultLevel - 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" 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 LocalizedString128: type: object description: Localized string value with a 128 character limit, keyed by locale. Contains overrides for non-default languages only. additionalProperties: type: string maxLength: 128 propertyNames: $ref: "#/components/schemas/TranslationLanguage" SiteSectionDescription: type: string description: Description of the site section minLength: 0 maxLength: 256 LocalizedString256: type: object description: Localized string value with a 256 character limit, keyed by locale. Contains overrides for non-default languages only. 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/LocalizedString128" 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" draft: type: boolean description: Whether the site space is draft and not live. 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 - draft - 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/LocalizedString128" description: $ref: "#/components/schemas/SiteSectionDescription" localizedDescription: $ref: "#/components/schemas/LocalizedString256" default: type: boolean description: Whether this is the default section for the site draft: type: boolean description: Whether the site section is draft and not live. 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 - draft - 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/LocalizedString128" 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 draft: type: boolean description: Whether the site section group is draft and not live. 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 - draft - 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. "owner": Can manage team members. "member": Is a member of the team. 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. 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 BillingMeter: type: string description: Identifier of a billing meter enum: - ai_responses - ai_agent_responses - translation_words 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 addons: type: array description: | Optional usage addons to apply when upgrading: - if set, apply provided billable addons (non-billable meters are ignored) - if omitted, keep current subscription addons (or billing addons for new subs) - if omitted during interval switch, keep addon selection and switch addon price interval - if empty, or all provided meters are ignored, remove all existing billable addons items: $ref: "#/components/schemas/BillingMeter" mode: type: string description: | Mode to use for the upgrade (default value is `commit`): - `commit`: a checkout session is returned or the upgrade is applied directly - `preview`: a preview invoice is always returned enum: - commit - preview required: - product - interval BillingInvoicePreview: type: object properties: amount: description: Final total owed for this invoice after discounts and credits. type: number subtotal: description: Sum of invoice line items before discounts and credits are applied. type: number amountDueToday: description: Remaining unpaid amount on this invoice, what would be charged now. 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: - subtotal - 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 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. - `active`: The provider is active and can be used to authenticate users. - `pending`: The provider is pending and is not yet fully configured. 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. 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. - `clean`: Modern theme featuring translucency and minimally-styled elements. - `muted`: Sophisticated theme with decreased contrast between elements. - `bold`: High-impact theme with prominent colors and strong contrasts. - `gradient`: Trendy theme featuring colorful gradients and splashes of color. 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. - `subtle`: Subtle shadows and minimal elevation. - `flat`: Flat elements, no shadows and no elevation. 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. - `default`: Links are colored in the primary color and feature an underline in the same color. - `accent`: Links are colored the same as body text and feature an underline in the primary color. 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. - `filled`: Muted background color that extends to sidebar edges. enum: - default - filled CustomizationSidebarListStyle: type: string description: | - `default`: Simple list items without special styling, groups are inset with a line. - `pill`: Rounded capsule shape around selected/active items. - `line`: Continuous line next to all items, with colored line part for selected/active items. enum: - default - pill - line CustomizationSearchStyle: type: string description: | The style of the search button. - `prominent`: large search bar in the middle of the header, with less room for other header items, - `subtle`: small search bar in the corner of the header, with more room for other header items. 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 LocalizedString: type: object description: Localized string value, keyed by locale. Contains overrides for non-default languages only. propertyNames: $ref: "#/components/schemas/TranslationLanguage" additionalProperties: type: string CustomizationContentLinkTitle: type: string maxLength: 64 LocalizedString64: type: object description: Localized string value with a 128 character limit, keyed by locale. Contains overrides for non-default languages only. additionalProperties: type: string maxLength: 64 propertyNames: $ref: "#/components/schemas/TranslationLanguage" CustomizationContentLink: type: object properties: title: $ref: "#/components/schemas/CustomizationContentLinkTitle" localizedTitle: description: Localized overrides for the link title, keyed by locale. $ref: "#/components/schemas/LocalizedString64" to: $ref: "#/components/schemas/ContentRef" required: - title - to CustomizationHeaderItem: type: object properties: title: type: string localizedTitle: description: Localized overrides for the header item title, keyed by locale. $ref: "#/components/schemas/LocalizedString" 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 localizedTitle: description: Localized overrides for the footer group title, keyed by locale. $ref: "#/components/schemas/LocalizedString" 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" localizedMessage: description: Localized overrides for the announcement message, keyed by locale. $ref: "#/components/schemas/LocalizedString128" 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 CustomizationDefaultThemeMode: type: string enum: - light - dark - system 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. - `self`: External links open in the current tab. - `blank`: External links open in a new browser tab. 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" localizedTitle: description: Localized titles for the site, keyed by locale. If not defined, the localized title will not be changed. $ref: "#/components/schemas/LocalizedString128" 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. type: object properties: default: $ref: "#/components/schemas/CustomizationDefaultThemeMode" 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. It is used to represent the structure of a site. 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. 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" - $ref: "#/components/schemas/BillingMeter" - 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). It is also the one being used as VA backend when the published auth settings are configured to use "integration" as backend. 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. 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. - 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 SiteScanStatus: type: string description: Status of a persisted site scan. enum: - pending - running - done - failed SiteScanFindings: type: object description: Number of findings created by the scan, grouped by severity. properties: low: type: number medium: type: number high: type: number required: - low - medium - high SiteScan: type: object properties: object: type: string enum: - site-scan id: type: string description: The ID of the scan status: $ref: "#/components/schemas/SiteScanStatus" topic: type: string description: The site topic ID associated with the scan createdAt: $ref: "#/components/schemas/Timestamp" startedAt: $ref: "#/components/schemas/Timestamp" finishedAt: $ref: "#/components/schemas/Timestamp" findings: $ref: "#/components/schemas/SiteScanFindings" failureMessage: type: string description: Failure message for failed scans urls: type: object description: URLs associated with the scan properties: location: type: string description: URL of the scan endpoint in the API format: uri required: - location required: - object - id - status - topic - createdAt - findings - urls SiteFindingStatus: type: string description: Status of a site finding. enum: - open - done - canceled SiteFindingType: type: string description: |- Classification of a site finding: - Outdated content: The content is no longer up to date with external context and may be misleading or incorrect. - Incoherent content: The content contains information that is inconsistent or contradictory. - Content gap: The content is missing important information that should be present to answer user questions effectively. - Other: Any other type of finding not covered by the above categories. enum: - content-outdated - incoherence - content-gap - other SiteFindingSeverity: type: string description: Estimated end-user severity of a site finding. enum: - low - medium - high SiteFindingTitle: type: string description: Short finding title maxLength: 256 SiteFinding: type: object properties: object: type: string enum: - site-finding id: type: string description: The ID of the finding scan: type: string description: The site scan ID associated with the finding topic: type: string description: The site topic ID associated with the finding title: $ref: "#/components/schemas/SiteFindingTitle" changeRequests: type: number description: Number of change requests linked to the finding pages: type: number description: Number of pages linked to the finding records: type: number description: Number of records linked to the finding questions: type: number description: Number of questions linked to the finding status: $ref: "#/components/schemas/SiteFindingStatus" type: $ref: "#/components/schemas/SiteFindingType" severity: $ref: "#/components/schemas/SiteFindingSeverity" description: $ref: "#/components/schemas/JSONDocument" autoFixable: type: boolean description: Whether an AI agent should be able to fix this finding directly createdAt: $ref: "#/components/schemas/Timestamp" updatedAt: $ref: "#/components/schemas/Timestamp" urls: type: object description: URLs associated with the finding properties: location: type: string description: URL of the finding list endpoint in the API format: uri required: - location required: - object - id - scan - topic - title - changeRequests - pages - records - questions - status - type - severity - description - autoFixable - createdAt - updatedAt - urls SiteFindingPage: type: object properties: object: type: string enum: - site-finding-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" askedAt: $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 - askedAt - 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 YoutubeChannelId: type: string description: A YouTube channel ID starting with "UC". pattern: ^UC[A-Za-z0-9_-]{22}$ YoutubeChannelName: type: string description: A YouTube channel handle starting with "@". pattern: ^@[A-Za-z0-9._-]{3,100}$ YoutubeChannelPattern: description: A YouTube channel identifier, either a channel ID or a channel handle. oneOf: - $ref: "#/components/schemas/YoutubeChannelId" - $ref: "#/components/schemas/YoutubeChannelName" 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: $ref: "#/components/schemas/YoutubeChannelPattern" 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 findings: type: object description: The number of findings linked to the topic properties: open: type: number description: The number of open findings linked to the topic total: type: number description: The total number of findings linked to the topic required: - open - total 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 - findings - questions - createdAt - updatedAt - urls SiteQuestionAnswerRelevance: type: string description: Relevance classification of the user question. enum: - relevant - spam - off-topic - unclear 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. connector: $ref: "#/components/schemas/ContextConnector" required: - type - record SiteQuestionAnswerSource: oneOf: - $ref: "#/components/schemas/SiteQuestionAnswerSourcePage" - $ref: "#/components/schemas/SiteQuestionAnswerSourceRecord" discriminator: propertyName: type 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 - builtin:github - builtin:linear 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 required: - text - raw 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 AIToolCallGetRecordContent: type: object description: Tool to read the body of an external record. properties: tool: type: string enum: - getRecordContent 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. url: type: string format: uri description: URL of the record in the source system. required: - tool - siteId - recordId - title 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. - `within`: moved as the last child of the target page (or to the root when `to` is omitted) - `before`: moved directly before the target page - `after`: moved directly after the target page 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/AIToolCallGetRecordContent" - $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" AIMessageStepPhase: type: string description: The phase of a step in a message from the AI agent. enum: - commentary - final_answer 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" phase: $ref: "#/components/schemas/AIMessageStepPhase" timing: type: object description: The timing of the step. properties: reasoning: $ref: "#/components/schemas/Timerange" attachments: type: array items: $ref: "#/components/schemas/AIAttachment" 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/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 OrganizationPointer: type: object properties: type: type: string enum: - organization organization: type: string description: Unique identifier for the organization required: - type - organization UserSitePermissionSiteOrigin: type: object description: Direct site permission origin. properties: type: type: string enum: - site site: type: string description: Unique identifier for the site reason: type: string description: Why the permission was enforced at the site level. enum: - member - team - default team: type: string description: Unique identifier for the team when the permission comes from a team override. required: - type - site - reason UserSitePermissionOrigin: description: The origin that enforced the effective permission level for a user in a site. oneOf: - $ref: "#/components/schemas/SpacePointer" - $ref: "#/components/schemas/OrganizationPointer" - $ref: "#/components/schemas/UserSitePermissionSiteOrigin" UserSitePermission: type: object description: Permission of a user in a site. properties: permission: $ref: "#/components/schemas/MemberRoleOrGuest" user: $ref: "#/components/schemas/User" origin: $ref: "#/components/schemas/UserSitePermissionOrigin" required: - permission - user - origin UserSitePermissionOverride: type: object description: Permission override of a user in a site. properties: permission: $ref: "#/components/schemas/MemberRoleOrGuest" 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/MemberRoleOrGuest" 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: $ref: "#/components/schemas/AIMessageRole" 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. properties: type: type: string enum: - response_start messageId: type: string description: | The ID of the message that this event is composing. task: $ref: "#/components/schemas/AIMessageTask" required: - type - messageId AIStreamResponseStepStart: type: object description: | Message emitted by the server to indicate the start of a step in the AI response. properties: type: type: string enum: - response_step_start messageId: type: string description: | The ID of the message that this event is composing. stepIndex: type: integer description: | The index of the step of the message that this event is composing. phase: $ref: "#/components/schemas/AIMessageStepPhase" required: - type - messageId - stepIndex 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. properties: type: type: string enum: - response_finish messageId: type: string description: | The ID of the message that this event is composing. 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. properties: type: type: string enum: - response_document - response_reasoning messageId: type: string description: | The ID of the message that this event is composing. stepIndex: type: integer description: | The index of the step of the message that this event is composing. 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. properties: type: type: string enum: - response_object messageId: type: string description: | The ID of the message that this event is composing. 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. properties: type: type: string enum: - response_tool_call messageId: type: string description: | The ID of the message that this event is composing. stepIndex: type: integer description: | The index of the step of the message that this event is composing. 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. properties: type: type: string enum: - response_tool_call_pending messageId: type: string description: | The ID of the message that this event is composing. stepIndex: type: integer description: | The index of the step of the message that this event is composing. 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. properties: type: type: string enum: - response_followup_suggestion messageId: type: string description: | The ID of the message that this event is composing. suggestions: type: array items: type: string description: | A followup message the user could respond with. required: - type - messageId - suggestions AIStreamResponseAttachment: type: object description: | Message emitted by the server to indicate that the AI has attached an image. properties: type: type: string enum: - response_attachment messageId: type: string description: | The ID of the message that this event is composing. stepIndex: type: integer description: | The index of the step of the message that this event is composing. attachment: $ref: "#/components/schemas/AIAttachment" required: - type - messageId - stepIndex - attachment AIStreamResponse: oneOf: - $ref: "#/components/schemas/AIStreamResponseStart" - $ref: "#/components/schemas/AIStreamResponseStepStart" - $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" SiteSettingsScanTopics: type: string enum: - auto - never description: Controls when topics are being scanned for findings. SiteSettingsFindingChangeRequests: type: string enum: - always - auto-fixable - never description: Controls how issue remediation change requests should be handled for a site. SiteAgentSettingsInput: type: object properties: scans: description: Settings related to scanning for a site. type: object properties: topics: $ref: "#/components/schemas/SiteSettingsScanTopics" required: - topics findings: description: Settings related to processing of findings for a site. type: object properties: changeRequests: $ref: "#/components/schemas/SiteSettingsFindingChangeRequests" required: - changeRequests editing: description: Site-specific instructions for the editing agent. type: object properties: customInstructions: $ref: "#/components/schemas/JSONDocument" required: - customInstructions required: - scans - findings - editing SiteAgentSettings: allOf: - type: object properties: object: type: string enum: - site-agent-settings updatedAt: $ref: "#/components/schemas/Timestamp" updatedBy: type: string description: Identifier of the member who last updated the settings. urls: type: object properties: location: type: string description: Relative URL to the resource in the API. required: - location required: - object - urls - $ref: "#/components/schemas/SiteAgentSettingsInput" 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. If not defined, it'll default to the IP executing the request. userAgent: type: string description: | User-agent of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent language: type: - string - "null" description: | Language of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language 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. This is used to identify the visitor with adaptive content. $ref: "#/components/schemas/PlainObject" required: - cookies - userAgent - language - referrer SiteInsightsDisplayContext: type: string description: Context in which the event was recorded. enum: - site - server - 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, the server, 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 SiteInsightsEventPageMarkdownRequest: allOf: - $ref: "#/components/schemas/SiteInsightsEventBase" - type: object properties: type: type: string enum: - page_markdown_request 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 SiteInsightsLLMSVariant: type: string enum: - standard - full SiteInsightsEventLLMSRequest: allOf: - $ref: "#/components/schemas/SiteInsightsEventBase" - type: object properties: type: type: string enum: - llms_request llmsVariant: $ref: "#/components/schemas/SiteInsightsLLMSVariant" required: - type - llmsVariant SiteInsightsEventMCPRequest: allOf: - $ref: "#/components/schemas/SiteInsightsEventBase" - type: object properties: type: type: string enum: - mcp_request required: - type SiteInsightsEventRSSRequest: allOf: - $ref: "#/components/schemas/SiteInsightsEventBase" - type: object properties: type: type: string enum: - rss_request required: - type SiteInsightsEvent: oneOf: - $ref: "#/components/schemas/SiteInsightsEventPageView" - $ref: "#/components/schemas/SiteInsightsEventPageMarkdownRequest" - $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" - $ref: "#/components/schemas/SiteInsightsEventLLMSRequest" - $ref: "#/components/schemas/SiteInsightsEventMCPRequest" - $ref: "#/components/schemas/SiteInsightsEventRSSRequest" 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: - eventLLMSVariant - 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 - page_markdown_request - 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 - llms_request - mcp_request - rss_request 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: - eventLLMSVariant values: type: array items: oneOf: - type: "null" - $ref: "#/components/schemas/SiteInsightsLLMSVariant" - 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" condition: description: Conditional expression used to evaluate whether the MCP server should be available to the site's visitor. $ref: "#/components/schemas/Expression" 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 GenericChannelPattern: type: string description: A generic channel name or pattern. For example, "general" or "support-*". pattern: ^[a-zA-Z0-9_\*-]+$ GitHubRepositoryPattern: type: string description: A GitHub repository name or pattern in the format "owner/repository". For example, "my-org/my-repo" or "my-org/*" to allow all repositories under "my-org". pattern: ^[a-zA-Z0-9._*-]+\/[a-zA-Z0-9._*-]+$ SiteChannelSetup: oneOf: - type: object properties: type: type: string enum: - builtin:slack setupSettings: type: object additionalProperties: false properties: allowedChannels: description: List of allowed Slack channel names or patterns. If empty, all channels are allowed. type: array items: $ref: "#/components/schemas/GenericChannelPattern" required: - type - setupSettings - type: object properties: type: type: string enum: - builtin:linear setupSettings: type: object additionalProperties: false properties: allowedTeams: description: List of allowed Linear team keys or patterns. If empty, all teams are allowed. type: array items: $ref: "#/components/schemas/GenericChannelPattern" required: - type - setupSettings - type: object properties: type: type: string enum: - builtin:github setupSettings: type: object additionalProperties: false properties: allowedRepositories: description: List of allowed GitHub repository names or patterns. If empty, all repositories are allowed. type: array items: $ref: "#/components/schemas/GitHubRepositoryPattern" required: - type - setupSettings - type: object properties: type: type: string enum: - builtin:discord setupSettings: type: object additionalProperties: false properties: allowedChannels: description: List of allowed Discord channel names or patterns. If empty, all channels are allowed. type: array items: $ref: "#/components/schemas/GenericChannelPattern" required: - type - setupSettings SiteChannelStatus: type: string enum: - active - pending SiteChannelRole: type: string enum: - collaborator - support 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. status: $ref: "#/components/schemas/SiteChannelStatus" role: $ref: "#/components/schemas/SiteChannelRole" answers: type: integer minimum: 0 description: Number of answers linked to this channel. 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 - status - role - answers - 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. If undefined, it'll default to the IP executing the request. userAgent: type: string description: | User-agent of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent language: type: string description: | Language of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language 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. If undefined, it'll default to the IP executing the request. userAgent: type: string description: | User-agent of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent language: type: string description: | Language of the visitor. https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language 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. It can be used to reference pages in document links. 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 * `failure`: The operation failed * `success`: The operation was successful 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 the important ones. - repo_fetch: Includes fetching the latest repository contents from remote provider. - config_check: Includes checking if the YAML config is valid, etc. - content_process: Includes processing of pages & files to be imported/exported. - finalize: Includes finalizing the sync process like creating the commit on git, or creating a new revision. 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 APIChannelSiteChannels: type: object description: Subscription channel for changes in site channels. properties: channel: type: string enum: - site-channels 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 APIChannelSiteAgentSettings: type: object properties: channel: type: string enum: - site-agent-settings 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/APIChannelSiteChannels" - $ref: "#/components/schemas/APIChannelSiteContext" - $ref: "#/components/schemas/APIChannelSiteCustomization" - $ref: "#/components/schemas/APIChannelSiteAgentSettings" - $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 CustomizationThemeMode: type: string enum: - light - dark 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. 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. 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. 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. 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 LocalizedContentRef: description: Localized content reference, keyed by locale. Contains overrides for non-default languages only. type: object additionalProperties: $ref: "#/components/schemas/ContentRef" propertyNames: $ref: "#/components/schemas/TranslationLanguage" 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"