{
"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": "[email protected]"
},
"version": "0.0.1-beta"
},
"servers": [
{
"url": "{host}/v1",
"variables": {
"host": {
"default": "https://api.gitbook.com"
}
}
}
],
"security": [
{
"user": []
},
{
"user-internal": []
},
{
"user-staff": []
},
{
"user-internal-or-staff": []
},
{
"integration": []
},
{
"integration-installation": []
}
],
"tags": [
{
"name": "organizations",
"x-page-icon": "building",
"x-page-title": "Organizations",
"x-page-description": "Manage your organizations and group your members, spaces, and resources under one collaborative structure.",
"description": "The Organizations API provides a robust way to handle the administrative structure of your GitBook workspace. By creating and configuring organizations, you can group multiple users, spaces, and collections, simplifying your permission management and fostering efficient collaboration for teams of any size.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Organization\" grouped=\"false\" %}\n The Organization object\n{% endopenapi-schemas %}\n"
},
{
"name": "organization-members",
"x-page-title": "Organization members",
"x-page-description": "Handle all aspects of membership within an organization, from listing to role management.",
"x-parent": "organizations",
"description": "Organization members can be managed through this API, which lets you invite and manage users under a particular organization. You can define roles and permissions to ensure your team has the right level of access.\n"
},
{
"name": "organization-invites",
"x-page-title": "Organization invites",
"x-page-description": "Streamline the invitation process for new members joining your organization.",
"x-parent": "organizations",
"description": "Use this API to create and revoke invitations for new members. By automating invite flows, you can maintain a cohesive onboarding experience for collaborators and speed up team expansion.\n"
},
{
"name": "organization-ask",
"x-page-title": "Organization AI ask",
"x-page-description": "Unlock AI-driven answers for your organization's content and data.",
"x-parent": "organizations",
"description": "Enhance your team's knowledge base with the Organization AI ask endpoint, which allows you to query AI models trained on your organization's GitBook content for quick, intelligent responses.\n"
},
{
"name": "sites",
"x-page-icon": "globe",
"x-page-title": "Docs sites",
"x-page-description": "Manage your published docs sites.",
"description": "The Docs Sites API lets you programmatically manage published documentation sites within your organization. You can list and update all sites created under a specific organization, making it easy to audit or interact with site metadata at scale.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Site\" grouped=\"false\" %}\n The Site object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-share-links",
"x-page-title": "Site share links",
"x-page-description": "Control how you share docs externally by managing share links for a site.",
"x-parent": "sites",
"description": "Manage the lifecycle of share links for your published sites. This includes generating new links for external sharing and revoking or updating existing ones.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ShareLink\" grouped=\"false\" %}\n The ShareLink object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-structure",
"x-page-title": "Site structure",
"x-page-description": "Retrieve and manipulate the entire hierarchical layout of a site.",
"x-parent": "sites",
"description": "Provides a complete overview of how content is organized on a site. With this API, you can discover page nesting, identify sections, and reorder site elements as needed.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteStructure\" grouped=\"false\" %}\n The SiteStructure object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-publishing-auth",
"x-page-title": "Site auth",
"x-page-description": "Manage the authentication needed for publishing your site.",
"x-parent": "sites",
"description": "Configure the credentials or tokens required to publish documentation externally. This helps ensure your site is consistently kept up to date.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SitePublishingAuth\" grouped=\"false\" %}\n The SitePublishingAuth object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-preview",
"x-page-title": "Site preview",
"x-page-description": "Fetch an up-to-date preview of your site before publishing.",
"x-parent": "sites",
"description": "Quickly generate a preview of how your site's content and layout will appear once published, allowing for final checks and refinement prior to going live.\n"
},
{
"name": "site-customization",
"x-page-title": "Site customization",
"x-page-description": "Customize the look and feel of your docs site.",
"x-parent": "sites",
"description": "Update your site's branding, styling, and layout to match your organization's identity. This includes theming elements like color palette, logos, and more.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteCustomizationSettings\" grouped=\"false\" %}\n The SiteCustomizationSettings object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-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.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteAgentSettings\" grouped=\"false\" %}\n The SiteAgentSettings object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-spaces",
"x-page-title": "Site spaces",
"x-page-description": "Control which spaces are linked and displayed in a docs site.",
"x-parent": "sites",
"description": "Associate or dissociate your organization's spaces to keep your content organized. This is particularly useful for larger organizations with numerous spaces.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSpace\" grouped=\"false\" %}\n The SiteSpace object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-sections",
"x-page-title": "Site sections",
"x-page-description": "Create and organize high-level sections for your docs site.",
"x-parent": "sites",
"description": "Sections help partition your site's content at the top level. They can be modified, deleted, or reorganized to reflect your site's changing structure.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSection\" grouped=\"false\" %}\n The SiteSection object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-section-groups",
"x-page-title": "Site section groups",
"x-page-description": "Group and manage sections of your docs for easier organization.",
"x-parent": "sites",
"description": "Section groups let you bundle multiple top-level sections together, offering additional structuring capabilities and simplifying navigation for your readers.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteSectionGroup\" grouped=\"false\" %}\n The SiteSectionGroup object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-redirects",
"x-page-title": "Site redirects",
"x-page-description": "Establish redirects for pages that have moved or changed in your docs site.",
"x-parent": "sites",
"description": "Keep your site's content fresh without breaking old links. This API allows you to create and manage redirection rules.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteRedirect\" grouped=\"false\" %}\n The SiteRedirect object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-mcp-servers",
"x-page-title": "Site MCP servers",
"x-page-description": "Configure external MCP servers used by your site.",
"x-parent": "sites",
"description": "Manage Model Context Protocol (Mcp) servers used by your site.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteMcpServer\" grouped=\"false\" %}\n The SiteMcpServer object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-channels",
"x-page-title": "Site channels",
"x-page-description": "Configure site channels for your docs site.",
"x-parent": "sites",
"description": "Manage the channels used as origins for questions and answers in your site ask data.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteChannel\" grouped=\"false\" %}\n The SiteChannel object\n{% endopenapi-schemas %}\n"
},
{
"name": "site-ads",
"x-page-title": "Site ads",
"x-page-description": "Control and customize ad placements on your docs site.",
"x-parent": "sites",
"description": "Manage the advertisement strategy within your docs. You can specify ad placements, track usage, and adjust settings to best fit your organization's needs.\n"
},
{
"name": "site-permissions",
"x-page-title": "Site permissions",
"x-page-description": "Manage which members and teams can access or contribute to a docs site.",
"x-parent": "sites",
"description": "Invite, remove, or update users and teams permissions for a site. This provides a way to tightly control collaboration and visibility among your teammates.\n"
},
{
"name": "site-insights",
"x-page-title": "Site insights",
"x-page-description": "Analyze traffic and engagement metrics for your docs site.",
"x-parent": "sites",
"description": "This API delivers insights about how visitors interact with your site, including page views and user engagement, helping you measure and optimize your content strategy.\n"
},
{
"name": "site-ai",
"x-page-title": "Site AI",
"x-page-description": "Build conversational AI agents for your docs site.",
"x-parent": "sites",
"description": "Build advanced conversational AI experiences within your docs site that go beyond basic Q&A.\n"
},
{
"name": "site-ask",
"x-page-title": "Site AI ask",
"x-page-description": "Allow AI-driven queries within a specific docs site.",
"x-parent": "sites",
"description": "Give your users a way to ask content-aware AI queries that are scoped entirely to the site's published documents.\n"
},
{
"name": "site-context",
"x-page-title": "Site context",
"x-page-description": "Manage context records, connections, and topics for a docs site.",
"x-parent": "sites",
"description": "Manage the contextual records and topics used by your site to power AI experiences and insights.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ContextRecord,ContextConnection,SiteTopic,SiteFinding,SiteFindingPage\" grouped=\"false\" %}\n The Site Context objects\n{% endopenapi-schemas %}\n"
},
{
"name": "site-questions",
"x-page-title": "Site questions",
"x-page-description": "Review questions, answers, and sources generated for a docs site.",
"x-parent": "sites",
"description": "Inspect the canonical questions asked on your site, the generated answers linked to each question, and the sources used for each answer.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"SiteQuestion,SiteQuestionAnswer,SiteQuestionAnswerWithResponse,SiteQuestionAnswerSource\" grouped=\"false\" %}\n The Site Questions objects\n{% endopenapi-schemas %}\n"
},
{
"name": "collections",
"x-page-icon": "folder",
"x-page-title": "Collections",
"x-page-description": "Organize and manage grouped sets of spaces for better content structure.",
"description": "Collections let you bundle multiple spaces under a unified entity, making large-scale content easier to handle. You can sort content by subject, department, or any grouping logic.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Collection\" grouped=\"false\" %}\n The Collection object\n{% endopenapi-schemas %}\n"
},
{
"name": "collection-permissions",
"x-page-title": "Collection permissions",
"x-page-description": "Manage which members and teams can access or contribute to a collection of spaces.",
"x-parent": "collections",
"description": "Control which users and teams have access to a collection's spaces. This ensures only the right individuals can view or modify sensitive content.\n"
},
{
"name": "spaces",
"x-page-icon": "book-sparkles",
"x-page-title": "Spaces",
"x-page-description": "Create, maintain, and remove content spaces.",
"description": "Spaces are containers for your documentation or knowledge base content. Use this API to create new spaces, manage existing ones, and delete or archive spaces you no longer need.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Space\" grouped=\"false\" %}\n The Space object\n{% endopenapi-schemas %}\n"
},
{
"name": "space-content",
"x-page-title": "Space content",
"x-page-description": "Import, export, and search content in a space.",
"x-parent": "spaces",
"description": "Handle your space content programmatically by creating, updating, or listing pages and files. Ideal for bulk operations or synchronizing with external systems.\n"
},
{
"name": "space-comments",
"x-page-title": "Space comments",
"x-page-description": "Integrate and manage user comments in a space.",
"x-parent": "spaces",
"description": "Comments are a powerful way to gather feedback on your documentation. Use this API to post, list, update, or delete comments and keep conversations organized.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Comment\" grouped=\"false\" %}\n The Comment object\n{% endopenapi-schemas %}\n"
},
{
"name": "space-embeds",
"x-page-title": "Space embeds",
"x-page-description": "Render or resolve embedded content within a space.",
"x-parent": "spaces",
"description": "Automatically fetch metadata or previews for embedded resources such as videos, images, or external docs, enabling richer content experiences in your space.\n"
},
{
"name": "space-permissions",
"x-page-title": "Space permissions",
"x-page-description": "Manage which members and teams roles and permissions on a per-space basis.",
"x-parent": "spaces",
"description": "Give your collaborators the right level of access for specific spaces, or assign entire teams to your spaces and streamline the process of granting or revoking access at scale, without dealing with individual user roles.\n"
},
{
"name": "space-integrations",
"x-page-title": "Space integrations",
"x-page-description": "Connect external tools and plugins to enhance your space functionality.",
"x-parent": "spaces",
"description": "This API handles the registration and removal of integrations, automating how data flows between GitBook and your chosen external services.\n"
},
{
"name": "space-git",
"x-page-title": "Git",
"x-page-description": "Connect Git repositories to your space for seamless version control.",
"x-parent": "spaces",
"description": "Manage the linkage between your GitBook space and external Git repositories, enabling commits, merges, and pull requests directly tied to your documentation.\n"
},
{
"name": "change-requests",
"x-page-icon": "code-pull-request",
"x-page-title": "Change requests",
"x-page-description": "Review and collaborate on proposed documentation changes before merging.",
"description": "This API helps you keep your space clean by letting contributors propose changes, review them, and then merge or discard as needed.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ChangeRequest\" grouped=\"false\" %}\n The ChangeRequest object\n{% endopenapi-schemas %}\n"
},
{
"name": "change-request-content",
"x-page-title": "Change request content",
"x-page-description": "Manage the actual content changes associated with a change request.",
"x-parent": "change-requests",
"description": "Retrieve or update the pages and files tied to an open change request. This lets you preview alterations and merge them when ready.\n"
},
{
"name": "change-request-contributors",
"x-page-title": "Change request contributors",
"x-page-description": "See who's participating in the change request.",
"x-parent": "change-requests",
"description": "Quickly access the full list of collaborators and their contributions within a change request for better traceability and communication.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"UserContributor\" grouped=\"false\" %}\n The UserContributor object\n{% endopenapi-schemas %}\n"
},
{
"name": "change-request-reviewers",
"x-page-title": "Change request reviewers",
"x-page-description": "Assign or list requested reviewers for a change request.",
"x-parent": "change-requests",
"description": "Ensure quality by requesting and tracking reviewer feedback in your GitBook flow. This endpoint helps orchestrate the entire review cycle.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"ChangeRequestRequestedReviewer\" grouped=\"false\" %}\n The ChangeRequestRequestedReviewer object\n{% endopenapi-schemas %}\n"
},
{
"name": "change-request-comments",
"x-page-title": "Change request comments",
"x-page-description": "Engage in threaded conversations on proposed changes.",
"x-parent": "change-requests",
"description": "This API powers the inline discussion around any new or updated documentation. Participate in comment threads and resolve them after reaching consensus.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Comment\" grouped=\"false\" %}\n The Comment object\n{% endopenapi-schemas %}\n"
},
{
"name": "analytics",
"x-page-icon": "chart-line",
"x-page-title": "Analytics",
"x-page-description": "Tap into metrics that reveal your content's performance and usage patterns.",
"description": "Gather data-driven insights on how users interact with your spaces, pages, or entire site. Analytics can highlight trends and guide future content improvements.\n"
},
{
"name": "translations",
"x-page-icon": "language",
"x-page-title": "Translations",
"x-page-description": "Configure multi-language support and translation options for your documentation.",
"description": "The Translations API provides ways to localize your content into various languages. It supports custom strings, default language settings, and more.\n"
},
{
"name": "translation-languages",
"x-page-title": "Translations languages",
"x-page-description": "Manage the individual language configurations for your docs translation setup.",
"x-parent": "translations",
"description": "Enable or disable specific languages, configure default text direction, or adjust advanced translation settings to ensure clarity for your global audience.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"TranslationLanguageSettings\" grouped=\"false\" %}\n The TranslationLanguageSettings object\n{% endopenapi-schemas %}\n"
},
{
"name": "imports",
"x-page-icon": "cloud-arrow-up",
"x-page-title": "Imports",
"x-page-description": "Import content into GitBook.",
"description": "The Imports API provides allows you to import content into GitBook.\n"
},
{
"name": "glossary",
"x-page-title": "Glossary",
"x-page-description": "Manage custom terms translations used by the translation feature.",
"x-parent": "translations",
"description": "Define terms and specify their translations for different languages to ensure consistent wording.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"GlossaryEntry\" grouped=\"false\" %}\n The GlossaryEntry object\n{% endopenapi-schemas %}\n"
},
{
"name": "integrations",
"x-page-icon": "puzzle-piece",
"x-page-title": "Integrations",
"x-page-description": "Install and handle third-party integrations for extended GitBook functionality.",
"description": "Expand the capabilities of GitBook by connecting it with various external platformsâCRM, finding trackers, or CI/CD pipelinesâthrough standardized integration endpoints.\n"
},
{
"name": "urls",
"x-page-icon": "link",
"x-page-title": "URLs",
"x-page-description": "Configure where and how your GitBook content can be accessed.",
"description": "Manage official endpoints, direct deep links, or short links for your content. This allows you to keep track of multiple custom URLs or vanity links under one system.\n"
},
{
"name": "openapi",
"x-page-icon": "code",
"x-page-title": "OpenAPI",
"x-page-description": "Upload, access, or version-control your OpenAPI specifications directly in GitBook.",
"description": "The OpenAPI endpoints let you integrate your existing or newly generated OpenAPI definitions into GitBook. This includes uploading, updating, and retrieving specs.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"OpenAPISpec\" grouped=\"false\" %}\n The OpenAPISpec object\n{% endopenapi-schemas %}\n"
},
{
"name": "openapi-versions",
"x-page-title": "OpenAPI spec versions",
"x-page-description": "Track changes to your OpenAPI documents by versioning them.",
"x-parent": "openapi",
"description": "Keep a history of your OpenAPI specs, enabling you to compare different versions, revert, or maintain multiple concurrent versions for testing or documentation.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"OpenAPISpecVersion\" grouped=\"false\" %}\n The OpenAPISpecVersion object\n{% endopenapi-schemas %}\n"
},
{
"name": "custom-fonts",
"x-page-icon": "font",
"x-page-title": "Custom fonts",
"x-page-description": "Bring your own fonts to personalize your documentation style.",
"description": "Upload and manage custom fonts for branding or aesthetic purposes. Once added, fonts can be applied to your spaces or sites to achieve a unique look.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"CustomizationFontDefinition\" grouped=\"false\" %}\n The CustomizationFontDefinition object\n{% endopenapi-schemas %}\n"
},
{
"name": "billing",
"x-page-icon": "credit-card",
"x-page-title": "Billing",
"x-page-description": "Organize payment details and subscription plans for your organization.",
"description": "Centralize billing activities here, including updating payment methods, adjusting subscriptions, or reviewing invoices. Simplify how you track and control costs.\n"
},
{
"name": "hive",
"x-page-icon": "network-wired",
"x-page-title": "Hive",
"x-page-description": "Bring teams together and share resources effectively across GitBook.",
"description": "Hive is a collaborative layer over your GitBook data, designed to streamline knowledge sharing, cross-project tasks, and reduce duplicate efforts among your teammates.\n"
},
{
"name": "subdomains",
"x-page-icon": "diagram-project",
"x-page-title": "Subdomains",
"x-page-description": "Manage and configure organization-specific subdomains for your docs.",
"description": "Provide a branded subdomain for each organization to create a consistent user experience. This API supports subdomain creation, DNS checks, and more.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Subdomain\" grouped=\"false\" %}\n The Subdomain object\n{% endopenapi-schemas %}\n"
},
{
"name": "users",
"x-page-icon": "users",
"x-page-title": "Users",
"x-page-description": "Retrieve and manage user information and profiles.",
"description": "The Users API allows you to fetch data about GitBook users, including the authenticated account or other team members by ID. This is crucial for customizing permissions, personalizing content, or establishing user-specific flows.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"User\" grouped=\"false\" %}\n The User object\n{% endopenapi-schemas %}\n"
},
{
"name": "teams",
"x-page-icon": "people-group",
"x-page-title": "Teams",
"x-page-description": "Create and manage teams as reusable groups of users.",
"description": "Teams offer a convenient way to assign roles and access to multiple users at once. This helps maintain large-scale projects more efficiently by reducing overhead in user-by-user management.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Team\" grouped=\"false\" %}\n The Team object\n{% endopenapi-schemas %}\n"
},
{
"name": "team-members",
"x-page-title": "Team members",
"x-page-description": "Control membership at the team level for cohesive role management.",
"x-parent": "teams",
"description": "Easily add or remove users from teams, as well as fine-tune their specific roles within a team to ensure secure, well-organized collaboration.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"TeamMember\" grouped=\"false\" %}\n The TeamMember object\n{% endopenapi-schemas %}\n"
},
{
"name": "sso",
"x-page-icon": "lock",
"x-page-title": "SSO",
"x-page-description": "Configure Single Sign-On solutions to unify your organization's authentication.",
"description": "Tie GitBook into your corporate identity management and authentication providers (like SAML or OAuth). This centralizes user authentication and improves security.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"Subdomain\" grouped=\"false\" %}\n The Subdomain object\n{% endopenapi-schemas %}\n"
},
{
"name": "storage",
"x-page-icon": "database",
"x-page-title": "Storage",
"x-page-description": "Upload and store files directly within your GitBook organization.",
"description": "Whether you're hosting images, documents, or other assets, Storage endpoints allow you to integrate those files into your documentation and spaces seamlessly.\n"
},
{
"name": "custom-hostnames",
"x-page-icon": "server",
"x-page-title": "Custom hostnames",
"x-page-description": "Serve your GitBook content from fully branded, custom hostnames.",
"description": "Extend your brand identity by mapping personalized domain names to your docs. This can help unify your documentation site with your existing company properties.\n\n{% openapi-schemas spec=\"gitbook\" schemas=\"CustomHostname\" grouped=\"false\" %}\n The CustomHostname object\n{% endopenapi-schemas %}\n"
},
{
"name": "system",
"x-page-icon": "gears",
"x-page-title": "System info",
"x-page-description": "Programmatically check GitBook API system status and version details.",
"description": "Use these endpoints to monitor the overall health of GitBook's infrastructure or to retrieve version information for debugging and compliance purposes.\n"
}
],
"paths": {
"/": {
"get": {
"operationId": "getApiInformation",
"tags": [
"system"
],
"summary": "Get API information",
"description": "Access the release version and build date of the GitBook codebase.",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiInformation"
}
}
}
}
}
}
},
"/user": {
"get": {
"operationId": "getAuthenticatedUser",
"summary": "Get profile of authenticated user",
"tags": [
"users",
"critical"
],
"security": [
{
"user": []
}
],
"description": "Returns details about the user associated with the authentication provided in the request's authorization header.\n",
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"404": {
"description": "User not found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/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.\n",
"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.\n",
"parameters": [
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"404": {
"description": "User not found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateUserById",
"summary": "Update a user by its ID",
"tags": [
"users",
"critical"
],
"security": [
{
"user": []
}
],
"description": "Update a GitBook account's details.\n",
"parameters": [
{
"$ref": "#/components/parameters/userId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"minProperties": 1,
"properties": {
"displayName": {
"type": "string",
"description": "Full name for the user",
"minLength": 1,
"maxLength": 64
},
"photoURL": {
"$ref": "#/components/schemas/URL"
}
}
}
}
}
},
"responses": {
"200": {
"description": "The user has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"404": {
"description": "User not found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/spaces/{spaceId}": {
"get": {
"operationId": "getSpaceById",
"summary": "Get a space by its ID",
"tags": [
"spaces",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/siteShareKey"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
}
}
},
"patch": {
"operationId": "updateSpaceById",
"summary": "Update a space",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"allOf": [
{
"type": "object",
"properties": {
"editMode": {
"$ref": "#/components/schemas/SpaceEditMode"
},
"title": {
"$ref": "#/components/schemas/SpaceTitle"
},
"defaultLevel": {
"$ref": "#/components/schemas/DefaultLevel"
},
"language": {
"$ref": "#/components/schemas/TranslationLanguage"
},
"mergeRules": {
"$ref": "#/components/schemas/MergeRulesSpaceConfiguration"
}
}
},
{
"oneOf": [
{
"type": "object",
"title": "Emoji",
"properties": {
"emoji": {
"$ref": "#/components/schemas/Emoji"
}
},
"required": [
"emoji"
]
},
{
"type": "object",
"title": "Icon",
"properties": {
"icon": {
"$ref": "#/components/schemas/URL"
}
},
"required": [
"icon"
]
},
{
"type": "object",
"title": "Remove icon or emoji",
"properties": {
"emoji": {
"type": "null"
},
"icon": {
"type": "null"
}
}
}
]
}
]
}
}
}
},
"responses": {
"200": {
"description": "The space has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
}
}
},
"delete": {
"operationId": "deleteSpaceById",
"summary": "Delete a space",
"description": "Deleted spaces will be permanently removed after 7 days.",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"responses": {
"204": {
"description": "Space did not exist"
},
"205": {
"description": "Space has been deleted"
}
}
}
},
"/spaces/{spaceId}/duplicate": {
"post": {
"operationId": "duplicateSpace",
"summary": "Duplicate a space",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"responses": {
"201": {
"description": "Space duplicated",
"headers": {
"Location": {
"description": "API URL for the newly created space",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
}
}
}
},
"/spaces/{spaceId}/restore": {
"post": {
"operationId": "restoreSpace",
"summary": "Restore a deleted space",
"description": "Only spaces deleted in the last 7 days can be restored.",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"responses": {
"200": {
"description": "Space restored",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
}
}
}
},
"/spaces/{spaceId}/move": {
"post": {
"operationId": "moveSpace",
"summary": "Move a space to a new position",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"minProperties": 1,
"properties": {
"parent": {
"description": "The unique id of the parent collection",
"type": [
"string",
"null"
]
},
"position": {
"description": "Where to move the space. By default, it will be moved at the end.",
"$ref": "#/components/schemas/ContentPosition"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Space moved",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
},
"400": {
"description": "Invalid position space or collection provided",
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"description": "No matching Space found for given ID",
"$ref": "#/components/responses/NotFoundError"
},
"409": {
"description": "Operation would not result in any update",
"$ref": "#/components/responses/ConflictError"
}
}
}
},
"/spaces/{spaceId}/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/documentMarkdownRefsFormat"
},
{
"$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/documentMarkdownRefsFormat"
},
{
"$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/documentMarkdownRefsFormat"
},
{
"$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/documentMarkdownRefsFormat"
},
{
"$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/documentMarkdownRefsFormat"
},
{
"$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/documentMarkdownRefsFormat"
},
{
"$ref": "#/components/parameters/documentEvaluated"
},
{
"$ref": "#/components/parameters/documentDereferenced"
},
{
"$ref": "#/components/parameters/revisionMetadata"
},
{
"$ref": "#/components/parameters/revisionComputed"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/RevisionPageDocument"
},
{
"$ref": "#/components/schemas/RevisionPageGroup"
}
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/revisions/{revisionId}/reusable-contents/{reusableContentId}": {
"get": {
"operationId": "getReusableContentInRevisionById",
"summary": "Get a space revision reusable content by its ID",
"tags": [
"space-content"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/revisionId"
},
{
"$ref": "#/components/parameters/reusableContentId"
},
{
"$ref": "#/components/parameters/revisionMetadata"
},
{
"$ref": "#/components/parameters/revisionComputed"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RevisionReusableContent"
}
}
}
}
}
}
},
"/spaces/{spaceId}/revisions/{revisionId}/reusable-contents/{reusableContentId}/document": {
"get": {
"operationId": "getReusableContentDocumentInRevisionById",
"summary": "Get the document of a reusable content in a revision",
"tags": [
"space-content"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/revisionId"
},
{
"$ref": "#/components/parameters/reusableContentId"
},
{
"$ref": "#/components/parameters/documentEvaluated"
},
{
"$ref": "#/components/parameters/documentDereferenced"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/JSONDocument"
}
}
}
}
}
}
},
"/spaces/{spaceId}/comments": {
"get": {
"operationId": "listCommentsInSpace",
"summary": "List all space comments",
"tags": [
"space-comments",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/listOrder"
},
{
"$ref": "#/components/parameters/status"
},
{
"$ref": "#/components/parameters/documentFormat"
},
{
"$ref": "#/components/parameters/targetPage"
},
{
"$ref": "#/components/parameters/authors"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Comment"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "postCommentInSpace",
"summary": "Create a space comment",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PostCommentSchema"
}
}
}
},
"responses": {
"200": {
"description": "The comment was posted.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Comment"
}
}
}
}
}
}
},
"/spaces/{spaceId}/comments/{commentId}": {
"get": {
"operationId": "getCommentInSpace",
"summary": "Get a space comment",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
},
{
"$ref": "#/components/parameters/documentFormat"
}
],
"responses": {
"200": {
"description": "The returned comment.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Comment"
}
}
}
}
}
},
"delete": {
"operationId": "deleteCommentInSpace",
"summary": "Delete a space comment",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
}
],
"responses": {
"204": {
"description": "Comment did not exist."
},
"205": {
"description": "The comment has been deleted."
}
}
},
"put": {
"operationId": "updateCommentInSpace",
"summary": "Update a space comment",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateCommentSchema"
}
}
}
},
"responses": {
"200": {
"description": "The comment was updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Comment"
}
}
}
}
}
}
},
"/spaces/{spaceId}/comments/{commentId}/replies": {
"get": {
"operationId": "listCommentRepliesInSpace",
"summary": "List all space comment replies",
"tags": [
"space-comment"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/documentFormat"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "postCommentReplyInSpace",
"summary": "Create a space comment reply",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PostCommentReplySchema"
}
}
}
},
"responses": {
"200": {
"description": "The reply was posted.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
}
}
}
},
"/spaces/{spaceId}/comments/{commentId}/replies/{commentReplyId}": {
"get": {
"operationId": "getCommentReplyInSpace",
"summary": "Get a space comment reply",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
},
{
"$ref": "#/components/parameters/commentReplyId"
},
{
"$ref": "#/components/parameters/documentFormat"
}
],
"responses": {
"200": {
"description": "The returned comment reply.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
}
}
},
"put": {
"operationId": "updateCommentReplyInSpace",
"summary": "Update a space comment reply",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
},
{
"$ref": "#/components/parameters/commentReplyId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateCommentReplySchema"
}
}
}
},
"responses": {
"200": {
"description": "The reply was updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
}
}
},
"delete": {
"operationId": "deleteCommentReplyInSpace",
"summary": "Delete a space comment reply",
"tags": [
"space-comments"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/commentId"
},
{
"$ref": "#/components/parameters/commentReplyId"
}
],
"responses": {
"204": {
"description": "Comment reply did not exist."
},
"205": {
"description": "The comment has been deleted."
}
}
}
},
"/spaces/{spaceId}/commenters": {
"get": {
"operationId": "listCommentersInSpace",
"summary": "List all users who commented in a space",
"tags": [
"space-comments",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/change-requests/{changeRequestId}/commenters": {
"get": {
"operationId": "listCommentersInChangeRequest",
"summary": "List all users who commented in a CR",
"tags": [
"change-request-comments",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/changeRequestId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/permissions/aggregate": {
"get": {
"operationId": "listPermissionsAggregateInSpace",
"summary": "List all space users permissions",
"tags": [
"space-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "role",
"in": "query",
"description": "If defined, only members with this role will be returned.",
"schema": {
"$ref": "#/components/schemas/MemberRole"
}
}
],
"responses": {
"200": {
"description": "Listing of users who can access the space.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserContentPermission"
}
}
}
}
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/integrations": {
"get": {
"operationId": "listSpaceIntegrations",
"summary": "List integrations enabled in a space",
"tags": [
"space-integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/integrationSearchQuery"
}
],
"responses": {
"200": {
"description": "Listing of integrations enabled in the space.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Integration"
}
}
}
}
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/integration-blocks": {
"get": {
"operationId": "listSpaceIntegrationsBlocks",
"summary": "List all space integrations blocks",
"tags": [
"space-integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
}
],
"responses": {
"200": {
"description": "list of installed integration blocks",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SpaceIntegrationBlocks"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/spaces/{spaceId}/pdf": {
"get": {
"operationId": "getSpacePDF",
"summary": "Get a URL of the content of a space as PDF",
"tags": [
"space-content"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"in": "query",
"name": "only",
"description": "Generate a PDF only for the provided page.",
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "page",
"description": "ID of a specific page to generate a PDF for.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "URL of the PDF",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"description": "Temporary URL to print the content. The URL will work for 1h.",
"$ref": "#/components/schemas/URL"
}
},
"required": [
"url"
]
}
}
}
}
}
}
},
"/spaces/{spaceId}/links": {
"get": {
"operationId": "listSpaceLinks",
"summary": "Get all links in a space including their status and location where they appear.",
"tags": [
"spaces",
"links",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/spaceId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "status",
"in": "query",
"schema": {
"$ref": "#/components/schemas/ContentReferenceStatus"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"properties": {
"stats": {
"$ref": "#/components/schemas/ContentReferencesStats"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ContentReferenceUsage"
}
}
},
"required": [
"items",
"stats"
]
}
]
}
}
}
},
"404": {
"description": "The space could not be found.",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/collections/{collectionId}": {
"get": {
"operationId": "getCollectionById",
"summary": "Get a collection by its ID",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Collection"
}
}
}
}
}
},
"patch": {
"operationId": "updateCollectionById",
"summary": "Update a collection",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/CollectionTitle"
},
"description": {
"$ref": "#/components/schemas/CollectionDescription"
},
"defaultLevel": {
"$ref": "#/components/schemas/DefaultLevel"
}
}
}
}
}
},
"responses": {
"200": {
"description": "The collection has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Collection"
}
}
}
}
}
},
"delete": {
"operationId": "deleteCollectionById",
"summary": "Delete a collection",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"responses": {
"204": {
"description": "Collection did not exist"
},
"205": {
"description": "Collection has been deleted"
}
}
}
},
"/collections/{collectionId}/spaces": {
"get": {
"operationId": "listSpacesInCollectionById",
"summary": "List all collection spaces",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Space"
}
}
}
}
]
}
}
}
}
}
}
},
"/collections/{collectionId}/move": {
"post": {
"operationId": "moveCollection",
"summary": "Move a collection to a new position.",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"minProperties": 1,
"properties": {
"parent": {
"description": "The unique id of the parent collection",
"type": [
"string",
"null"
]
},
"position": {
"description": "Where to move the collection. By default, it will be moved at the end.",
"$ref": "#/components/schemas/ContentPosition"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Collection moved",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Collection"
}
}
}
},
"400": {
"description": "Invalid position space or collection provided",
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"description": "No matching Collection found for given ID",
"$ref": "#/components/responses/NotFoundError"
},
"409": {
"description": "Operation would not result in any update",
"$ref": "#/components/responses/ConflictError"
}
}
}
},
"/collections/{collectionId}/transfer": {
"post": {
"operationId": "transferCollection",
"summary": "Transfer a collection",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"organization": {
"type": "string",
"description": "The unique id of the target organization"
}
},
"required": [
"organization"
]
}
}
}
},
"responses": {
"200": {
"description": "Collection transferred",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Collection"
}
}
}
},
"404": {
"description": "No matching Collection found for given ID",
"$ref": "#/components/responses/NotFoundError"
},
"409": {
"description": "Transfer would not result in any update",
"$ref": "#/components/responses/ConflictError"
},
"412": {
"description": "The collection cannot be moved.",
"$ref": "#/components/responses/PreconditionFailedError"
}
}
}
},
"/collections/{collectionId}/permissions": {
"post": {
"operationId": "inviteToCollection",
"summary": "Invite to a collection",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
}
],
"responses": {
"204": {
"description": "OK"
},
"404": {
"description": "No team or user with the provided Id",
"$ref": "#/components/responses/NotFoundError"
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteUsersAndTeams"
}
}
}
}
}
},
"/collections/{collectionId}/permissions/teams": {
"get": {
"operationId": "listTeamPermissionsInCollection",
"summary": "List an org team's permission in collection",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "Listing of teams who have been added to a collection.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"description": "Permission of a team in a content.",
"properties": {
"permission": {
"$ref": "#/components/schemas/MemberRole"
},
"team": {
"$ref": "#/components/schemas/OrganizationTeam"
}
},
"required": [
"permission",
"team"
]
}
}
}
}
]
}
}
}
}
}
}
},
"/collections/{collectionId}/permissions/teams/{teamId}": {
"patch": {
"operationId": "updateTeamPermissionInCollection",
"summary": "Update an org team's permission in a collection",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
}
}
}
}
},
"responses": {
"204": {
"description": "Team permission was updated"
},
"404": {
"description": "No team found with the given ID",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"delete": {
"operationId": "removeTeamFromCollection",
"summary": "Remove an org team from a collection",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"responses": {
"204": {
"description": "The team was not found in the collection"
},
"205": {
"description": "The team has been removed from the collection"
}
}
}
},
"/collections/{collectionId}/permissions/users": {
"get": {
"operationId": "listUserPermissionsInCollection",
"summary": "List collection user permissions",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "Listing of users who have been added to a collection.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserContentPermission"
}
}
}
}
]
}
}
}
},
"404": {
"description": "No space found with the given Id",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/collections/{collectionId}/permissions/users/{userId}": {
"patch": {
"operationId": "updateUserPermissionInCollection",
"summary": "Update a collection user permission",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
}
}
}
}
},
"responses": {
"204": {
"description": "User permission was updated"
},
"404": {
"description": "No user found with the given ID",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"delete": {
"operationId": "removeUserFromCollection",
"summary": "Remove a user from a collection",
"tags": [
"collection-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"204": {
"description": "The user was not found in the collection"
},
"205": {
"description": "The user has been removed from the collection"
}
}
}
},
"/collections/{collectionId}/permissions/aggregate": {
"get": {
"operationId": "listPermissionsAggregateInCollection",
"summary": "List all collections users permissions",
"tags": [
"space-permissions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/collectionId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "role",
"in": "query",
"description": "If defined, only members with this role will be returned.",
"schema": {
"$ref": "#/components/schemas/MemberRole"
}
}
],
"responses": {
"200": {
"description": "Listing of users who can access the collections.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UserContentPermission"
}
}
}
}
]
}
}
}
}
}
}
},
"/integrations": {
"get": {
"operationId": "listIntegrations",
"summary": "List all public integrations",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/integrationSearchQuery"
},
{
"$ref": "#/components/parameters/integrationSearchCategory"
},
{
"$ref": "#/components/parameters/integrationSearchBlockDomain"
},
{
"$ref": "#/components/parameters/integrationSearchBlocks"
},
{
"$ref": "#/components/parameters/integrationSearchContentSources"
},
{
"$ref": "#/components/parameters/integrationSearchOwner"
},
{
"$ref": "#/components/parameters/integrationSearchScope"
},
{
"$ref": "#/components/parameters/integrationSearchTarget"
}
],
"responses": {
"200": {
"description": "Paginated list of integrations",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Integration"
}
}
}
}
]
}
}
}
}
}
}
},
"/integrations/{integrationName}": {
"get": {
"operationId": "getIntegrationByName",
"summary": "Get an integration by its name",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"200": {
"description": "Integration",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Integration"
}
}
}
},
"404": {
"description": "No matching integration found for given name",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"post": {
"operationId": "publishIntegration",
"summary": "Publish an integration",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Integration"
}
}
}
},
"404": {
"description": "Organization could not be found for the given hostname",
"$ref": "#/components/responses/NotFoundError"
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublishIntegration"
}
}
}
}
},
"delete": {
"operationId": "unpublishIntegration",
"summary": "Unpublish an integration",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"204": {
"description": "Integration did not exist"
},
"205": {
"description": "Integration has been deleted"
}
}
}
},
"/integrations/{integrationName}/installations": {
"get": {
"operationId": "listIntegrationInstallations",
"summary": "List all integration installations",
"tags": [
"integrations"
],
"security": [
{
"integration": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "externalId",
"in": "query",
"description": "External Id to filter by",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationInstallation"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "installIntegration",
"summary": "Install an integration",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationTarget"
}
}
}
},
"responses": {
"201": {
"headers": {
"Location": {
"description": "URL for the installed integration",
"schema": {
"type": "string"
}
}
},
"description": "Integration installed successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/events": {
"get": {
"operationId": "listIntegrationEvents",
"summary": "List all integration events",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "Paginated list of integration events",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationEvent"
}
}
}
}
]
}
}
}
}
}
}
},
"/integrations/{integrationName}/events/{eventId}": {
"get": {
"operationId": "getIntegrationEvent",
"summary": "Get an integration event by its ID",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/integrationEventId"
}
],
"responses": {
"200": {
"description": "Integration event",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"event"
],
"properties": {
"event": {
"$ref": "#/components/schemas/IntegrationEvent"
},
"trace": {
"$ref": "#/components/schemas/IntegrationEventTrace"
}
}
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/spaces": {
"get": {
"operationId": "listIntegrationSpaceInstallations",
"summary": "List all integration space installations",
"tags": [
"integrations"
],
"security": [
{
"integration": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "externalId",
"in": "query",
"description": "External Id to filter by",
"schema": {
"type": "string"
}
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationSpaceInstallation"
}
}
}
}
]
}
}
}
}
}
}
},
"/integrations/{integrationName}/sites": {
"get": {
"operationId": "listIntegrationSiteInstallations",
"summary": "List all integration site installations",
"tags": [
"integrations"
],
"security": [
{
"integration": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "externalId",
"in": "query",
"description": "External ID to filter by",
"schema": {
"type": "string"
}
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationSiteInstallation"
}
}
}
}
]
}
}
}
}
}
}
},
"/integrations/{integrationName}/dev": {
"put": {
"operationId": "setIntegrationDevelopmentMode",
"summary": "Enable integration dev mode",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"tunnelUrl": {
"type": "string",
"description": "URL of the tunnel to dispatch integration events to",
"minLength": 1,
"maxLength": 256
},
"all": {
"type": "boolean",
"default": false,
"description": "If set to true, all requests will be forwarded to the tunnel, not just from the owning organization.\n"
}
},
"required": [
"tunnelUrl"
]
}
}
}
},
"responses": {
"204": {
"description": "Updated development mode successfully"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"delete": {
"operationId": "disableIntegrationDevelopmentMode",
"summary": "Disable integration dev mode",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"205": {
"description": "Disabled development mode successfully"
}
}
}
},
"/integrations/{integrationName}/render": {
"get": {
"operationId": "renderIntegrationUIWithGet",
"summary": "Render an integration UI with GET method",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"name": "request",
"in": "query",
"required": true,
"description": "LZ-string compressed JSON request",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "ContentKit element to render",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentKitRenderOutput"
}
}
},
"headers": {
"Cache-Control": {
"schema": {
"type": "string"
}
}
}
}
}
},
"post": {
"operationId": "renderIntegrationUIWithPost",
"summary": "Render an integration UI with POST method",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"200": {
"description": "ContentKit element to render",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentKitRenderOutput"
}
}
},
"headers": {
"Cache-Control": {
"schema": {
"type": "string"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RenderIntegrationUI"
}
}
}
}
}
},
"/integrations/{integrationName}/tasks": {
"post": {
"operationId": "queueIntegrationTask",
"summary": "Queue an integration task",
"tags": [
"integrations"
],
"security": [
{
"integration": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"task": {
"type": "object",
"description": "Payload for the integration task"
},
"schedule": {
"type": "number",
"description": "Number of seconds to wait before executing the task, defaults to 0",
"minimum": 0,
"maximum": 86400
}
},
"required": [
"task"
]
}
}
}
},
"responses": {
"204": {
"description": "Integration task created successfully"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}": {
"get": {
"operationId": "getIntegrationInstallationById",
"summary": "Get an integration installation by its ID",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "Integration installation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateIntegrationInstallation",
"summary": "Update an integration installation",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "The installation has been updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationInstallation"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateIntegrationInstallation"
}
}
}
}
},
"delete": {
"operationId": "uninstallIntegration",
"summary": "Uninstall an integration",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"204": {
"description": "Integration installation did not exist"
},
"205": {
"description": "Integration uninstalled successfully"
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}/tokens": {
"post": {
"operationId": "createIntegrationInstallationToken",
"summary": "Create an integration installation API token",
"description": "Creates a temporary API token of an integration's installation that has access to the installation and it's scopes. You must be authenticated as the integration to obtain this token.\n",
"tags": [
"integrations"
],
"security": [
{
"integration": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "The API token for the installation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/APITemporaryToken"
}
}
}
},
"404": {
"description": "Installation could not be found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}/spaces": {
"get": {
"operationId": "listIntegrationInstallationSpaces",
"summary": "List all space integration installations",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationSpaceInstallation"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "installIntegrationOnSpace",
"summary": "Install an integration on a space",
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"space"
],
"properties": {
"space": {
"type": "string",
"description": "ID of the space to install the integration on"
}
}
}
}
}
},
"responses": {
"201": {
"headers": {
"Location": {
"description": "URL for the installed integration",
"schema": {
"type": "string"
}
}
},
"description": "Integration installed successfully on space",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSpaceInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}": {
"get": {
"operationId": "getIntegrationSpaceInstallation",
"summary": "Get an integration space installation",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/spaceId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Integration space installation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSpaceInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateIntegrationSpaceInstallation",
"summary": "Update an integration space installation",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/spaceId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the space object in each items. If false, returns the space ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "The space installation has been updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSpaceInstallation"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateIntegrationSpaceInstallation"
}
}
}
}
},
"delete": {
"operationId": "uninstallIntegrationFromSpace",
"summary": "Uninstall an integration from a space",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/spaceId"
}
],
"responses": {
"204": {
"description": "The space installation did not exist."
},
"205": {
"description": "The space installation has been deleted."
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}/sites": {
"get": {
"operationId": "listIntegrationInstallationSites",
"summary": "List all site integration installations",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IntegrationSiteInstallation"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "installIntegrationOnSite",
"summary": "Install an integration on a site",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"siteId"
],
"properties": {
"siteId": {
"type": "string",
"description": "ID of the site to install the integration on"
}
}
}
}
}
},
"responses": {
"201": {
"headers": {
"Location": {
"description": "URL for the installed integration on the site",
"schema": {
"type": "string"
}
}
},
"description": "Integration installed successfully on site",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSiteInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/integrations/{integrationName}/installations/{installationId}/sites/{siteId}": {
"get": {
"operationId": "getIntegrationSiteInstallation",
"summary": "Get an integration site installation",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "Integration site installation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSiteInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateIntegrationSiteInstallation",
"summary": "Update an integration site installation",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"name": "extended",
"in": "query",
"description": "If true, returns the site object in each items. If false, returns the site ID in each items.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "The site installation has been updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IntegrationSiteInstallation"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateIntegrationSiteInstallation"
}
}
}
}
},
"delete": {
"operationId": "uninstallIntegrationFromSite",
"summary": "Uninstall an integration from a site",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/integrationName"
},
{
"$ref": "#/components/parameters/installationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"204": {
"description": "The site installation did not exist."
},
"205": {
"description": "The site installation has been deleted."
}
}
}
},
"/orgs": {
"get": {
"operationId": "listOrganizationsForAuthenticatedUser",
"summary": "Get the list of organizations for the currently authenticated user",
"tags": [
"organizations",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Organization"
}
}
},
"required": [
"items"
]
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}": {
"get": {
"operationId": "getOrganizationById",
"summary": "Get an organization by its ID",
"tags": [
"organizations",
"critical"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Organization"
}
}
}
},
"404": {
"description": "No matching organization found for given id",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateOrganizationById",
"summary": "Update an organization",
"tags": [
"organizations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/OrganizationTitle"
},
"emailDomains": {
"$ref": "#/components/schemas/OrganizationEmailDomains"
},
"hostname": {
"$ref": "#/components/schemas/OrganizationHostname"
},
"defaultRole": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
},
"defaultContent": {
"oneOf": [
{
"$ref": "#/components/schemas/OrganizationDefaultContent"
},
{
"type": "null"
}
]
},
"logo": {
"oneOf": [
{
"$ref": "#/components/schemas/URL"
},
{
"type": "null"
}
]
},
"sso": {
"type": "boolean"
},
"ai": {
"type": "boolean"
},
"inviteLinks": {
"type": "boolean"
},
"mergeRules": {
"$ref": "#/components/schemas/MergeRulesStandaloneConfiguration"
}
}
}
}
}
},
"responses": {
"200": {
"description": "The organization has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Organization"
}
}
}
},
"400": {
"description": "Invalid default content space or collection provided",
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/members": {
"get": {
"operationId": "listMembersInOrganizationById",
"summary": "List all organization members",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/listOrder"
},
{
"name": "role",
"description": "The Role to filter the member list by",
"in": "query",
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/MemberRole"
},
{
"type": "string",
"enum": [
"guest"
]
}
]
}
},
{
"name": "search",
"in": "query",
"description": "A query to filter the member list (displayName and email)",
"schema": {
"type": "string"
}
},
{
"name": "sort",
"in": "query",
"description": "The property to sort the results by. When sorting by lastSeenAt, only active members will be listed.",
"schema": {
"type": "string",
"default": "joinedAt",
"enum": [
"joinedAt",
"lastSeenAt"
]
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/members/{userId}": {
"get": {
"operationId": "getMemberInOrganizationById",
"summary": "Get an organization member by its ID",
"tags": [
"organization-members",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
}
},
"patch": {
"operationId": "updateMemberInOrganizationById",
"summary": "Update an organization member",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"200": {
"description": "The member has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
}
}
}
}
}
},
"delete": {
"operationId": "removeMemberFromOrganizationById",
"summary": "Delete an organization member",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"204": {
"description": "Member did not exist in the organization."
},
"205": {
"description": "The member was deleted from the organization."
}
}
}
},
"/orgs/{organizationId}/ping": {
"post": {
"operationId": "updateOrganizationMemberLastSeenAt",
"summary": "Update an organization member last seen at",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "Organization member has been updated. Optionally returns a JWT token to attach to the user.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"gitbookVisitorClaims": {
"description": "A JTW token containing the claims to attach to this user.",
"type": "string"
}
}
}
}
}
}
}
}
},
"/orgs/{organizationId}/members/{userId}/sso": {
"post": {
"operationId": "setUserAsSSOMemberForOrganization",
"summary": "Set a user as an SSO member of an organization",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"200": {
"description": "The user has been added as an SSO member of the organization.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationMember"
}
}
}
}
}
}
},
"/orgs/{organizationId}/members/{userId}/spaces": {
"get": {
"operationId": "listSpacesForOrganizationMember",
"summary": "List an organization member space permissions",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/listOrder"
}
],
"responses": {
"200": {
"description": "Listing of spaces that can be accessed by the user in the organization.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MemberContentPermission"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/members/{userId}/teams": {
"get": {
"operationId": "listTeamsForOrganizationMember",
"summary": "List all organization member teams",
"tags": [
"organization-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/userId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"in": "query",
"name": "title",
"description": "If provided, only teams whose name contains the given parameter will be returned. Case insensitive.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"team",
"member"
],
"properties": {
"team": {
"$ref": "#/components/schemas/OrganizationTeam"
},
"member": {
"$ref": "#/components/schemas/TeamMember"
}
}
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/teams": {
"get": {
"operationId": "listTeamsInOrganizationById",
"summary": "List all teams",
"tags": [
"teams"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"in": "query",
"name": "owner",
"description": "The unique identifier of a member of the organization. Only teams they can manage will be returned.",
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "title",
"description": "If provided, only teams whose name contains the given parameter will be returned. Case insensitive.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationTeam"
}
}
}
}
]
}
}
}
}
}
},
"put": {
"operationId": "createOrganizationTeam",
"summary": "Create a team",
"tags": [
"teams"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"201": {
"description": "Team has been created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationTeam"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/OrganizationTeamTitle"
},
"members": {
"description": "A list of organization member identifiers",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"title"
]
}
}
}
}
}
},
"/orgs/{organizationId}/teams/{teamId}": {
"get": {
"operationId": "getTeamInOrganizationById",
"summary": "Get a team",
"tags": [
"teams"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationTeam"
}
}
}
}
}
},
"patch": {
"operationId": "updateTeamInOrganizationById",
"summary": "Update a team",
"tags": [
"teams"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"responses": {
"200": {
"description": "The team has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationTeam"
}
}
}
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/OrganizationTeamTitle"
}
},
"required": [
"title"
]
}
}
}
}
},
"delete": {
"operationId": "removeTeamFromOrganizationById",
"summary": "Delete a team",
"tags": [
"teams"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"responses": {
"204": {
"description": "The team did not exist in the organization."
},
"205": {
"description": "The team was deleted from the organization."
}
}
}
},
"/orgs/{organizationId}/teams/{teamId}/members": {
"put": {
"operationId": "updateMembersInOrganizationTeam",
"summary": "Updates members of a team",
"description": "Updates members of an organization team, either adding or removing them. If a the same user is included as both an add and a remove, they will be removed from the team.\n",
"tags": [
"team-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateMembersInOrganizationTeam"
}
}
}
},
"responses": {
"204": {
"description": "Members have been updated"
}
}
},
"get": {
"operationId": "listTeamMembersInOrganizationById",
"summary": "List all team members",
"description": "Lists members, and their roles, for the specified organization team.\n",
"tags": [
"team-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationTeamMember"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/teams/{teamId}/members/{userId}": {
"put": {
"operationId": "addMemberToOrganizationTeamById",
"summary": "Add a team member",
"description": "Add or updates member in the specified organization team.\n",
"tags": [
"team-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"role": {
"$ref": "#/components/schemas/TeamMemberRole"
}
}
}
}
}
},
"responses": {
"204": {
"description": "Member has been added to the team"
}
}
},
"delete": {
"operationId": "deleteMemberFromOrganizationTeamById",
"summary": "Delete a team member",
"description": "Deletes member from the specified organization team.\n",
"tags": [
"team-members"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/teamId"
},
{
"$ref": "#/components/parameters/userId"
}
],
"responses": {
"204": {
"description": "Member was not part of the team"
},
"205": {
"description": "Member has been deleted from the team"
}
}
}
},
"/orgs/{organizationId}/invites": {
"post": {
"operationId": "inviteUsersToOrganization",
"summary": "Invite users in an organization",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"users": {
"type": "array",
"items": {
"type": "string",
"description": "The unique identifiers of the users who were added to the organization"
}
},
"invited": {
"type": "number",
"description": "The number of users who were added to the organization"
},
"failedSSOEmails": {
"type": "array",
"items": {
"type": "string",
"description": "A list of emails who were invited to the organization, but who were not added as SSO users as they are members of another org"
}
}
},
"required": [
"users",
"invited"
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
},
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InviteUsersToOrganization"
}
}
}
}
}
},
"/orgs/{organizationId}/invites/{inviteId}": {
"post": {
"operationId": "joinOrganizationWithInvite",
"summary": "Join an organization with an invite",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/inviteId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {}
}
}
}
}
}
}
},
"/orgs/{organizationId}/link-invites": {
"get": {
"operationId": "listOrganizationInviteLinks",
"summary": "List organization invites",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "List of invite links in the organization.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InviteLinkToOrganization"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createOrganizationInvite",
"summary": "Create an organization invite",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateOrganizationInvite"
}
}
}
},
"responses": {
"201": {
"description": "The organization invite has been created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationInviteLink"
}
}
}
}
}
}
},
"/orgs/{organizationId}/link-invites/{inviteId}": {
"get": {
"operationId": "getOrganizationInviteLink",
"summary": "Get an organization by its ID",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/inviteId"
}
],
"responses": {
"200": {
"description": "Invite link in the organization.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationInviteLink"
}
}
}
}
}
},
"patch": {
"operationId": "updateOrganizationInviteById",
"summary": "Update an organization invite",
"tags": [
"organization-invites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/inviteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"type": "object",
"description": "Update role of an organization invite",
"properties": {
"role": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
},
"required": [
"role"
]
},
{
"type": "object",
"description": "Update level of an organization content invite",
"properties": {
"level": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
},
"required": [
"level"
]
}
]
}
}
}
},
"responses": {
"200": {
"description": "The organization invite has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationInviteLink"
}
}
}
}
}
},
"delete": {
"operationId": "deleteOrganizationInviteById",
"summary": "Deletes an organization invite.",
"tags": [
"organizations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/inviteId"
}
],
"responses": {
"204": {
"description": "Organization invite did not exist"
},
"205": {
"description": "The organization invite has been deleted"
}
}
}
},
"/orgs/{organizationId}/join": {
"post": {
"operationId": "joinOrganization",
"summary": "Join an organization",
"description": "Join an organization if the user's verified email domain matches one of the organization's allowed email domains.\nThis endpoint allows existing users to join organizations they're eligible for based on their email domain.\n",
"tags": [
"organizations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"204": {
"description": "Successfully joined the organization"
},
"400": {
"description": "User's email domain is not valid",
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"description": "Organization not found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/search": {
"get": {
"operationId": "searchOrganizationContent",
"summary": "Search content in an organization",
"tags": [
"organizations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"name": "query",
"in": "query",
"required": true,
"schema": {
"type": "string",
"maxLength": 512
}
},
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchSpaceResult"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/change-requests": {
"get": {
"operationId": "listChangeRequestsForOrganization",
"summary": "List all change requests in an organization",
"tags": [
"change-requests"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/organizationId"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"type": "array",
"description": "If defined, only change requests matching the statuses will be returned.",
"items": {
"$ref": "#/components/schemas/ChangeRequestStatus"
},
"default": [
"open"
]
}
},
{
"name": "creator",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests created by this user will be returned."
},
{
"name": "contributor",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests with contributions from this user will be returned."
},
{
"name": "requestedReviewer",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests with a requested reviewer for this user will be returned."
},
{
"name": "site",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests linked to this site will be returned."
},
{
"name": "space",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests from this space will be returned."
},
{
"name": "topic",
"in": "query",
"required": false,
"schema": {
"type": "string"
},
"description": "If defined, only change requests linked to this site topic will be returned."
},
{
"name": "orderBy",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/ChangeRequestOrderBy"
}
}
],
"responses": {
"200": {
"description": "List of the organization's change requests",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ChangeRequest"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/spaces": {
"get": {
"operationId": "listSpacesInOrganizationById",
"summary": "List all spaces",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Space"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createSpace",
"summary": "Create a space",
"tags": [
"spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateSpace"
}
}
}
},
"responses": {
"201": {
"description": "Space created",
"headers": {
"Location": {
"description": "API URL for the newly created space",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Space"
}
}
}
}
}
}
},
"/orgs/{organizationId}/collections": {
"get": {
"operationId": "listCollectionsInOrganizationById",
"summary": "List all collections",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "nested",
"in": "query",
"description": "If true, all nested collections will be listed",
"schema": {
"type": "boolean",
"default": true
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Collection"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createCollection",
"summary": "Create a collection",
"tags": [
"collections"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 50
},
"parent": {
"type": "string",
"description": "ID of a parent collection"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Collection created",
"headers": {
"Location": {
"description": "API URL for the newly created collection",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Collection"
}
}
}
}
}
}
},
"/orgs/{organizationId}/integrations": {
"get": {
"operationId": "listOrganizationIntegrations",
"summary": "List all public integrations along with private ones trusted by the specific org.",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/integrationSearchQuery"
},
{
"$ref": "#/components/parameters/integrationSearchCategory"
},
{
"$ref": "#/components/parameters/integrationSearchBlockDomain"
},
{
"$ref": "#/components/parameters/integrationSearchBlocks"
},
{
"$ref": "#/components/parameters/integrationSearchContentSources"
},
{
"$ref": "#/components/parameters/integrationSearchOwner"
},
{
"$ref": "#/components/parameters/integrationSearchScope"
},
{
"$ref": "#/components/parameters/integrationSearchTarget"
}
],
"responses": {
"200": {
"description": "List of integrations.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Integration"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/integrations/{integrationName}/installation_status": {
"get": {
"operationId": "getOrganizationIntegrationStatus",
"summary": "Get the status of an integration",
"tags": [
"integrations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/integrationName"
}
],
"responses": {
"200": {
"description": "Integration installation status",
"content": {
"application/json": {
"schema": {
"properties": {
"status": {
"$ref": "#/components/schemas/IntegrationInstallationStatus"
}
},
"required": [
"status"
]
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/installations": {
"get": {
"operationId": "listOrganizationInstallations",
"summary": "List all integration installations",
"tags": [
"integrations"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"$ref": "#/components/parameters/integrationSearchQuery"
}
],
"responses": {
"200": {
"description": "List of integrations with the associated installations.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"installation": {
"$ref": "#/components/schemas/IntegrationInstallation"
},
"integration": {
"$ref": "#/components/schemas/Integration"
}
},
"required": [
"integration",
"installation"
]
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/integrations/installations-status": {
"get": {
"operationId": "listOrganizationIntegrationsStatus",
"summary": "List all integration statuses",
"tags": [
"integrations",
"critical"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "target",
"in": "query",
"description": "Filter installations by their target (organization, space, or site). When not provided, defaults to organization-level installations for backwards compatibility",
"schema": {
"type": "string",
"default": "organization",
"enum": [
"organization",
"space",
"site"
]
}
}
],
"responses": {
"200": {
"description": "List of installed integrations and their statuses",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/InstalledIntegration"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/saml": {
"get": {
"operationId": "listSAMLProvidersInOrganizationById",
"summary": "List all SAML providers",
"description": "Lists SAML providers configured for the specified organization.\n",
"tags": [
"sso"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationSAMLProvider"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createOrganizationSAMLProvider",
"summary": "Create a new SAML provider",
"tags": [
"sso"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"label": {
"$ref": "#/components/schemas/SAMLProviderLabel"
},
"entityID": {
"$ref": "#/components/schemas/SAMLProviderEntityID"
},
"certificate": {
"$ref": "#/components/schemas/SAMLProviderCertificate"
},
"ssoURL": {
"$ref": "#/components/schemas/URL"
},
"defaultTeam": {
"type": "string"
},
"defaultRole": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
},
"required": [
"label"
]
}
}
}
},
"responses": {
"201": {
"description": "SAML Provider created",
"headers": {
"Location": {
"description": "API URL for the newly created SAML Provider",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationSAMLProvider"
}
}
}
}
}
}
},
"/orgs/{organizationId}/saml/{samlProviderId}": {
"get": {
"operationId": "getOrganizationSAMLProviderById",
"summary": "Get a SAML provider by its ID",
"tags": [
"sso"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/samlProviderId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationSAMLProvider"
}
}
}
},
"404": {
"description": "No matching provider found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateOrganizationSAMLProvider",
"summary": "Update a SAML provider",
"tags": [
"sso"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/samlProviderId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"label": {
"$ref": "#/components/schemas/SAMLProviderLabel"
},
"entityID": {
"$ref": "#/components/schemas/SAMLProviderEntityID"
},
"certificate": {
"$ref": "#/components/schemas/SAMLProviderCertificate"
},
"ssoURL": {
"$ref": "#/components/schemas/URL"
},
"defaultTeam": {
"type": "string"
},
"defaultRole": {
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
}
}
}
}
},
"responses": {
"200": {
"description": "SAML provider has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationSAMLProvider"
}
}
}
}
}
},
"delete": {
"operationId": "deleteOrganizationSAMLProvider",
"summary": "Delete a SAML provider",
"tags": [
"sso"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/samlProviderId"
}
],
"responses": {
"204": {
"description": "SAML provider did not exist"
},
"205": {
"description": "SAML provider has been deleted"
}
}
}
},
"/orgs/{organizationId}/sso": {
"get": {
"operationId": "listSSOProviderLoginsInOrganization",
"summary": "List all SSO provider login infos",
"tags": [
"sso"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OrganizationSSOProviderLogin"
}
}
}
}
}
}
}
}
}
},
"/orgs/{organizationId}/ask": {
"post": {
"operationId": "askInOrganization",
"summary": "Ask a question in an organization",
"description": "Ask a question to an AI across spaces that is accessible by the currently authenticated target.",
"tags": [
"organization-ask"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/documentFormat"
},
{
"name": "details",
"in": "query",
"description": "Return query details in the result",
"schema": {
"type": "boolean"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchAIQuery"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"answer": {
"$ref": "#/components/schemas/SearchAIAnswer"
}
}
}
}
}
}
}
}
},
"/orgs/{organizationId}/ask/questions": {
"get": {
"operationId": "getRecommendedQuestionsInOrganization",
"summary": "List recommended questions to ask in an organization",
"tags": [
"organization-ask"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"security": [
{
"user": []
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SearchAIRecommendedQuestions"
}
}
}
}
}
}
},
"/orgs/{organizationId}/ask/questions/stream": {
"get": {
"operationId": "streamRecommendedQuestionsInOrganization",
"summary": "List recommended questions to ask in an organization (streamed)",
"tags": [
"organization-ask"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"security": [
{
"user": []
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/event-stream": {
"schema": {
"$ref": "#/components/schemas/SearchAIRecommendedQuestionStream"
}
}
}
}
}
}
},
"/orgs/{organizationId}/ask/stream": {
"get": {
"operationId": "streamAskInOrganization",
"summary": "Ask a question in an organization (streamed)",
"description": "Ask a question to an AI across spaces that is accessible by the currently authenticated target and stream the answer as a Server-Sent Events URL.",
"tags": [
"organization-ask"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"name": "query",
"in": "query",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/documentFormat"
},
{
"name": "details",
"in": "query",
"description": "Return query details in the result",
"schema": {
"type": "boolean"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"text/event-stream": {
"schema": {
"$ref": "#/components/schemas/SearchAIAnswerStream"
}
}
}
}
}
}
},
"/orgs/{organizationId}/openapi": {
"get": {
"operationId": "listOpenAPISpecs",
"summary": "List all OpenAPI spec",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createOpenAPISpec",
"summary": "Create an OpenAPI spec",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"slug": {
"$ref": "#/components/schemas/OpenAPISpecSlug"
},
"source": {
"$ref": "#/components/schemas/OpenAPISpecSource"
}
},
"required": [
"source",
"slug"
]
}
}
}
},
"responses": {
"201": {
"description": "OpenAPI specification has been created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}": {
"get": {
"operationId": "getOpenAPISpecBySlug",
"summary": "Get an OpenAPI spec by its slug",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
},
"404": {
"description": "No matching OpenAPI specification found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"put": {
"operationId": "createOrUpdateOpenAPISpecBySlug",
"summary": "Create or update an OpenAPI spec",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"source": {
"$ref": "#/components/schemas/OpenAPISpecSource"
}
},
"required": [
"source"
]
}
}
}
},
"responses": {
"200": {
"description": "OpenAPI specification has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
},
"201": {
"description": "OpenAPI specification has been created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
},
"patch": {
"operationId": "updateOpenAPISpecBySlug",
"summary": "Update OpenAPI spec visibility",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"visibility": {
"$ref": "#/components/schemas/OpenAPISpecVisibility"
}
},
"required": [
"visibility"
]
}
}
}
},
"responses": {
"200": {
"description": "OpenAPI specification visibility has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpec"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"description": "No matching OpenAPI specification found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"delete": {
"operationId": "deleteOpenAPISpecBySlug",
"summary": "Delete an OpenAPI spec",
"tags": [
"openapi"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"responses": {
"204": {
"description": "Specification did not exist"
},
"205": {
"description": "OpenAPI specification has been deleted"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}/versions": {
"get": {
"operationId": "listOpenAPISpecVersions",
"summary": "List all OpenAPI spec versions",
"tags": [
"openapi-versions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OpenAPISpecVersion"
}
}
}
}
]
}
}
}
},
"404": {
"description": "No matching OpenAPI specification found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}/versions/latest": {
"get": {
"operationId": "getLatestOpenAPISpecVersion",
"summary": "Get the latest OpenAPI spec version",
"tags": [
"openapi-versions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecVersion"
}
}
}
},
"404": {
"description": "No matching OpenAPI specification version found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}/versions/latest/content": {
"get": {
"operationId": "getLatestOpenAPISpecVersionContent",
"summary": "Get the latest OpenAPI spec version content",
"tags": [
"openapi-versions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecContent"
}
}
}
},
"404": {
"description": "No matching OpenAPI specification version found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}/versions/{versionId}": {
"get": {
"operationId": "getOpenAPISpecVersionById",
"summary": "Get an OpenAPI spec version by its ID",
"tags": [
"openapi-versions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
},
{
"$ref": "#/components/parameters/openapiSpecVersionId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecVersion"
}
}
}
},
"404": {
"description": "No matching OpenAPI specification version found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/openapi/{specSlug}/versions/{versionId}/content": {
"get": {
"operationId": "getOpenAPISpecVersionContentById",
"summary": "Get an OpenAPI spec version content by its ID",
"tags": [
"openapi-versions"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/openapiSpecSlug"
},
{
"$ref": "#/components/parameters/openapiSpecVersionId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OpenAPISpecContent"
}
}
}
},
"404": {
"description": "No matching OpenAPI specification version found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/agent-instructions": {
"get": {
"operationId": "getOrganizationAgentInstructions",
"summary": "Get Docs agent instructions for an organization",
"tags": [
"organizations",
"agents"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationAgentInstructions"
}
}
}
}
}
},
"put": {
"operationId": "updateOrganizationAgentInstructions",
"summary": "Update Docs agent instructions for an organization",
"tags": [
"organizations",
"agents"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"instructions"
],
"properties": {
"instructions": {
"$ref": "#/components/schemas/JSONDocument",
"description": "Document describing the Docs agent instructions."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Updated instructions",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OrganizationAgentInstructions"
}
}
}
}
}
}
},
"/orgs/{organizationId}/translations": {
"get": {
"operationId": "listTranslations",
"summary": "List all the translations",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Translation"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createTranslation",
"summary": "Create a translation",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"source": {
"$ref": "#/components/schemas/TranslationSource"
},
"language": {
"$ref": "#/components/schemas/TranslationLanguage"
},
"instructions": {
"$ref": "#/components/schemas/JSONDocument"
}
},
"required": [
"language",
"source"
]
}
}
}
},
"responses": {
"201": {
"description": "Translation has been created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Translation"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/translations/{translationId}": {
"get": {
"operationId": "getTranslation",
"summary": "Get a translation by its ID",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/translationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Translation"
}
}
}
},
"404": {
"description": "No matching translation found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"put": {
"operationId": "updateTranslation",
"summary": "Update a translation",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/translationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"instructions"
],
"properties": {
"instructions": {
"$ref": "#/components/schemas/JSONDocument"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Translation has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Translation"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
},
"delete": {
"operationId": "deleteTranslation",
"summary": "Delete a translation",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/translationId"
}
],
"responses": {
"204": {
"description": "Translation did not exist"
},
"205": {
"description": "Translation has been deleted"
}
}
}
},
"/orgs/{organizationId}/translations/{translationId}/run": {
"post": {
"operationId": "runTranslation",
"summary": "Run a translation again",
"tags": [
"translations"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/translationId"
}
],
"responses": {
"204": {
"description": "Translation run triggered"
},
"404": {
"description": "No matching translation found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/translations-glossary": {
"get": {
"operationId": "listGlossaryEntries",
"summary": "List glossary entries",
"tags": [
"glossary"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "orderBy",
"in": "query",
"description": "Sort results by language key",
"schema": {
"$ref": "#/components/schemas/TranslationLanguage"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GlossaryEntry"
}
}
}
}
]
}
}
}
}
}
},
"put": {
"operationId": "updateGlossaryEntries",
"summary": "Update glossary entries",
"tags": [
"glossary"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"operations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GlossaryBatchOperation"
}
}
},
"required": [
"operations"
]
}
}
}
},
"responses": {
"204": {
"description": "Glossary entries updated"
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/translations-glossary/{glossaryEntryId}": {
"get": {
"operationId": "getGlossaryEntry",
"summary": "Get a glossary entry by its ID",
"tags": [
"glossary"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/glossaryEntryId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GlossaryEntry"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/storage/upload": {
"post": {
"operationId": "generateStorageUploadURL",
"summary": "Create a signed URL to upload a file",
"description": "Generate a pre-signed URL that can be used to upload a file to storage",
"tags": [
"storage"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"file",
"kind"
],
"properties": {
"file": {
"$ref": "#/components/schemas/StorageFileMetadata"
},
"kind": {
"$ref": "#/components/schemas/StorageUploadKind"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Successfully generated signed URL for file upload",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StorageUploadURL"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/fonts": {
"get": {
"operationId": "listCustomFonts",
"summary": "List all custom fonts",
"tags": [
"custom-fonts"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomizationFontDefinition"
}
}
}
}
]
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"put": {
"operationId": "createCustomFont",
"summary": "Create a custom font",
"tags": [
"custom-fonts"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Defines a custom font and associated font faces with storage references.",
"properties": {
"fontFamily": {
"$ref": "#/components/schemas/FontFamily"
},
"fontFaces": {
"type": "array",
"description": "Array of font faces specifying weights and their corresponding storage keys.\nAt least one font face with weight 400 (regular) must be provided.\n",
"items": {
"type": "object",
"properties": {
"weight": {
"$ref": "#/components/schemas/FontWeight"
},
"storageKey": {
"$ref": "#/components/schemas/StorageFileKey"
}
},
"required": [
"weight",
"storageKey"
]
},
"minItems": 1
}
},
"required": [
"fontFamily",
"fontFaces"
]
}
}
}
},
"responses": {
"201": {
"description": "Custom font created successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomizationFontDefinition"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
},
"412": {
"description": "Invalid request data, such as missing required font weights.",
"$ref": "#/components/responses/PreconditionFailedError"
}
}
}
},
"/orgs/{organizationId}/fonts/{fontId}": {
"get": {
"operationId": "getCustomFont",
"summary": "Get a custom font by its ID",
"tags": [
"custom-fonts"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/fontId"
}
],
"responses": {
"200": {
"description": "Custom font.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomizationFontDefinition"
}
}
}
},
"404": {
"description": "Organization or font not found.",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"post": {
"operationId": "updateCustomFont",
"summary": "Update a custom font",
"tags": [
"custom-fonts"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/fontId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"description": "Defines a custom font and associated font faces with storage references.",
"properties": {
"fontFamily": {
"$ref": "#/components/schemas/FontFamily"
},
"fontFaces": {
"type": "array",
"description": "Array of font faces specifying weights and their corresponding storage keys. Passing null as the storage key will remove that weight.\n",
"items": {
"type": "object",
"properties": {
"weight": {
"$ref": "#/components/schemas/FontWeight"
},
"storageKey": {
"oneOf": [
{
"$ref": "#/components/schemas/StorageFileKey"
},
{
"type": "null"
}
]
}
},
"required": [
"weight",
"storageKey"
]
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Custom font created successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomizationFontDefinition"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
},
"412": {
"description": "Invalid request data, such as missing required font weights.",
"$ref": "#/components/responses/PreconditionFailedError"
}
}
},
"delete": {
"operationId": "deleteCustomFont",
"summary": "Delete a custom font",
"tags": [
"custom-fonts"
],
"security": [
{
"user-internal": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/fontId"
}
],
"responses": {
"204": {
"description": "Organization or font not found."
},
"205": {
"description": "Custom font deleted successfully."
}
}
}
},
"/org/{organizationId}/imports": {
"post": {
"operationId": "startImportRun",
"summary": "Import content into a space from a website",
"tags": [
"imports"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"source": {
"$ref": "#/components/schemas/ContentImportSource"
},
"target": {
"$ref": "#/components/schemas/ContentImportTarget"
},
"enhance": {
"description": "Enhance the imported content with AI",
"default": true,
"type": "boolean"
}
},
"required": [
"source",
"target"
]
}
}
}
},
"responses": {
"201": {
"description": "Import run created successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentImportRun"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/org/{organizationId}/imports/{importRunId}/cancel": {
"post": {
"operationId": "cancelImportRun",
"summary": "Cancel an import run",
"tags": [
"imports"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/importRunId"
}
],
"responses": {
"201": {
"description": "Import run canceled successfully.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ContentImportRun"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/sites": {
"get": {
"operationId": "listSites",
"summary": "List all sites",
"tags": [
"sites",
"critical"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "space",
"in": "query",
"description": "Identifier of the space to filter the sites by",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "title",
"in": "query",
"description": "Filter sites by their title",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "published",
"in": "query",
"description": "Filter sites by their published status",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"name": "type",
"in": "query",
"description": "Filter by site type",
"required": false,
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SiteType"
}
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Site"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createSite",
"summary": "Create a site",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"type": {
"description": "The type of the site, defaults to Basic",
"$ref": "#/components/schemas/SiteType"
},
"title": {
"$ref": "#/components/schemas/SiteTitle"
},
"visibility": {
"$ref": "#/components/schemas/SiteVisibility"
},
"spaces": {
"type": "array",
"description": "ID of spaces to be added to the site",
"items": {
"type": "string"
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Site created",
"headers": {
"Location": {
"description": "API URL for the newly created site",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Site"
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}": {
"get": {
"operationId": "getSiteById",
"summary": "Get a site by its ID",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Site"
}
}
}
},
"404": {
"description": "No matching site found",
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateSiteById",
"summary": "Update a site",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"title": {
"$ref": "#/components/schemas/SiteTitle"
},
"visibility": {
"$ref": "#/components/schemas/SiteVisibility"
},
"basename": {
"$ref": "#/components/schemas/SiteBasename"
},
"adaptiveContent": {
"$ref": "#/components/schemas/SiteAdaptiveContent"
},
"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`.\nUse `null` to remove the proxy.\n",
"oneOf": [
{
"$ref": "#/components/schemas/SiteProxyOrigin"
},
{
"type": "null"
}
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Site"
}
}
}
}
}
},
"delete": {
"operationId": "deleteSiteById",
"summary": "Delete a site",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"204": {
"description": "Site did not exist"
},
"205": {
"description": "Site has been deleted"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/adaptive-schema": {
"get": {
"operationId": "getSiteAdaptiveSchema",
"summary": "Get the JSON schema describing the attributes expected for an Adaptive content site visitor.",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "The JSON schema that defines the attributes expected from a visitor of the Adaptive content site.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteAdaptiveSchema"
}
}
}
},
"404": {
"description": "No visitor attributes schema found for the site.",
"$ref": "#/components/responses/NotFoundError"
},
"default": {
"$ref": "#/components/responses/UnexpectedError"
}
}
},
"put": {
"operationId": "updateSiteAdaptiveSchema",
"summary": "Update the JSON schema of the attributes expected for an Adaptive content site visitor.",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"jsonSchema": {
"description": "The JSON schema to set on the site.",
"$ref": "#/components/schemas/SiteAdaptiveJSONSchema"
}
},
"required": [
"jsonSchema"
]
}
}
}
},
"responses": {
"200": {
"description": "The site adaptive schema has been updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteAdaptiveSchema"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
},
"default": {
"$ref": "#/components/responses/UnexpectedError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/adaptive-schema/template-conditions": {
"get": {
"operationId": "listSiteAdaptiveTemplateConditions",
"summary": "List templates of conditions generated based on the site visitor schema that can be used in adaptive content expressions.",
"tags": [
"sites"
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "List of template conditions generated based on the site visitor schema.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SiteAdaptiveTemplateCondition"
}
}
},
"required": [
"items"
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/published": {
"get": {
"operationId": "getPublishedContentSite",
"summary": "Get a published site",
"description": "Get the complete profile of a site in an organization to provide the published experience. It includes site, customization, structure, integration scripts etc.",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteShareKey"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PublishedContentSite"
}
}
}
},
"404": {
"description": "No matching site found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/publish": {
"post": {
"operationId": "publishSite",
"summary": "Publish a site",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "Site published successfully",
"content": {
"application/json": {
"schema": {
"oneOf": [
{
"$ref": "#/components/schemas/Site"
},
{
"type": "object",
"description": "User needs to checkout in order to publish the site.",
"properties": {
"type": {
"type": "string",
"enum": [
"checkout"
]
},
"sessionId": {
"type": "string",
"description": "Stripe payment session ID"
}
},
"required": [
"type",
"sessionId"
]
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/unpublish": {
"post": {
"operationId": "unpublishSite",
"summary": "Unpublish a site",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "Site unpublished successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Site"
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/share-links": {
"get": {
"operationId": "listSiteShareLinks",
"summary": "List all share links",
"tags": [
"site-share-links"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "search",
"in": "query",
"description": "Search share links by name or key",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ShareLink"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createSiteShareLink",
"summary": "Create a share link",
"tags": [
"site-share-links"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"$ref": "#/components/schemas/ShareLinkName"
}
},
"required": [
"name"
]
}
}
}
},
"responses": {
"201": {
"description": "The share link has been created",
"headers": {
"Location": {
"description": "API URL for the newly created share link",
"schema": {
"type": "string"
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareLink"
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/share-links/{shareLinkId}": {
"patch": {
"operationId": "updateSiteShareLinkById",
"summary": "Update a share link",
"tags": [
"site-share-links"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/shareLinkId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"minProperties": 1,
"properties": {
"active": {
"type": "boolean"
},
"name": {
"$ref": "#/components/schemas/ShareLinkName"
}
}
}
}
}
},
"responses": {
"200": {
"description": "The site share link has been updated",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ShareLink"
}
}
}
}
}
},
"delete": {
"operationId": "deleteSiteShareLinkById",
"summary": "Deletes a share link",
"tags": [
"site-share-links"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/shareLinkId"
}
],
"responses": {
"204": {
"description": "Site share link did not exist"
},
"205": {
"description": "Site share link has been deleted"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/structure": {
"get": {
"operationId": "getSiteStructure",
"summary": "Get a site structure",
"description": "Get the complete structure of a site that includes all its site-sections and site-spaces.",
"tags": [
"site-structure"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteShareKey"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteStructure"
}
}
}
},
"404": {
"description": "No matching site found",
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/structure/sort": {
"patch": {
"operationId": "sortSiteStructure",
"summary": "Move a site space, site section or site section group to a new position in the site structure.",
"tags": [
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"item": {
"description": "pointer to the item (site space, site section or site section group) being moved.",
"$ref": "#/components/schemas/SiteStructureItemPointer"
},
"position": {
"description": "The position to move the item to. When not provided the item is moved to the end of the site structure.",
"$ref": "#/components/schemas/SiteStructureItemMovePosition"
}
},
"required": [
"item",
"position"
]
}
}
}
},
"responses": {
"200": {
"description": "Item successfully moved",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteStructureItem"
}
}
}
},
"400": {
"description": "Invalid move position provided",
"$ref": "#/components/responses/BadRequestError"
},
"404": {
"description": "No matching item found",
"$ref": "#/components/responses/NotFoundError"
},
"default": {
"$ref": "#/components/responses/UnexpectedError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/publishing/auth": {
"get": {
"operationId": "getSitePublishingAuthById",
"summary": "Get a site auth config",
"tags": [
"site-publishing-auth"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SitePublishingAuth"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
},
"patch": {
"operationId": "updateSitePublishingAuthById",
"summary": "Update a site auth config",
"tags": [
"site-publishing-auth"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SitePublishingAuthUpdate"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SitePublishingAuth"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/publishing/auth/regenerate": {
"post": {
"operationId": "regenerateSitePublishingAuthById",
"summary": "Regenerate a site auth",
"description": "Regenerate the publishing authentication settings for a site. This will re-generate the private key.",
"tags": [
"site-publishing-auth"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SitePublishingAuth"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/publishing/preview": {
"get": {
"operationId": "getSitePublishingPreviewById",
"summary": "Get a site preview URL",
"description": "Generate a URL to preview the published content of a site. The URL will be valid for 1 hour.",
"tags": [
"site-preview"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"name": "siteSpace",
"in": "query",
"description": "ID of the site-space to preview. If not provided, the default site-space will be used.",
"schema": {
"type": "string"
}
},
{
"name": "claims",
"in": "query",
"description": "Rison encoded string of attributes/assertions about the visitor for which we want to preview the site.",
"schema": {
"type": "string"
}
},
{
"name": "draft",
"in": "query",
"description": "Whether to include draft content in the preview. Defaults to true",
"schema": {
"type": "boolean",
"default": true
}
},
{
"name": "target",
"in": "query",
"description": "Target URL of the preview. If not provided, the default site preview URL will be used.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"url": {
"$ref": "#/components/schemas/URL"
}
},
"required": [
"url"
]
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/customization": {
"get": {
"operationId": "getSiteCustomizationById",
"summary": "Get a site customization settings",
"tags": [
"site-customization"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteCustomizationUnmasked"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteCustomizationSettings"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
},
"put": {
"operationId": "updateSiteCustomizationById",
"summary": "Update a site customization settings",
"tags": [
"site-customization"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteCustomizationSettingsInput"
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteCustomizationSettings"
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/integration-scripts": {
"get": {
"operationId": "listSiteIntegrationScripts",
"summary": "List the scripts to embed in published content for a site.",
"tags": [
"integrations",
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SiteIntegrationScript"
}
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequestError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/integrations": {
"get": {
"operationId": "listSiteIntegrations",
"summary": "List integrations enabled in a site.",
"tags": [
"integrations",
"sites"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/integrationSearchQuery"
}
],
"responses": {
"200": {
"description": "Listing of integrations enabled in the site.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Integration"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/site-spaces": {
"post": {
"operationId": "addSpaceToSite",
"summary": "Add a space to a site",
"tags": [
"site-spaces"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"description": "ID of the space"
},
"sectionId": {
"type": "string",
"description": "ID of the section to add the space to. If not provided, the space will be added to the default section or at the root level if the site has no sections."
},
"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.\n",
"properties": {
"siteSpaceId": {
"type": "string"
}
}
},
"scope": {
"$ref": "#/components/schemas/SiteSearchScope"
},
"session": {
"$ref": "#/components/schemas/SiteInsightsSession"
}
}
}
}
}
},
"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.\n",
"tags": [
"site-ai"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"previousResponseId": {
"type": "string",
"description": "The ID of the previous response to continue from"
},
"input": {
"type": "array",
"description": "The messages to send to the AI agent.",
"items": {
"$ref": "#/components/schemas/AIMessageInput"
}
},
"model": {
"$ref": "#/components/schemas/AIModel"
},
"tools": {
"type": "array",
"description": "Custom tools to provide to the AI agent.",
"items": {
"$ref": "#/components/schemas/AIToolDefinition"
}
},
"toolCall": {
"$ref": "#/components/schemas/AIToolCallResult"
},
"session": {
"$ref": "#/components/schemas/SiteInsightsSession"
},
"channel": {
"type": "object",
"description": "The channel from which the question was asked, if applicable.",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/components/schemas/SiteCoreChannelType"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"text/event-stream": {
"schema": {
"$ref": "#/components/schemas/AIStreamResponse"
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/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.\n"
}
},
"required": [
"source",
"intent"
]
},
{
"type": "object",
"properties": {
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"intent": {
"type": "string",
"enum": [
"live",
"draft"
],
"default": "live",
"description": "Redirect operation intent.\n- live: upsert/delete a live redirect (draft=false)\n- draft: upsert/delete a draft redirect (draft=true)\n"
},
"captureWildcard": {
"type": "boolean",
"default": false,
"description": "Capture and append the wildcard-matched suffix to the destination URL."
},
"destination": {
"description": "If set to null, the redirect matching the source+intent target will be deleted.",
"oneOf": [
{
"$ref": "#/components/schemas/SiteRedirectInputDestination"
},
{
"type": "null"
}
]
}
},
"required": [
"source",
"destination"
]
}
]
}
}
},
"required": [
"redirects"
]
}
}
}
},
"responses": {
"200": {
"description": "List of results for each redirect processed.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"oneOf": [
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"created"
],
"description": "The redirect was created."
},
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"draft": {
"type": "boolean",
"description": "Whether the redirect is draft and not live."
},
"id": {
"type": "string",
"description": "The ID of the created redirect."
}
},
"required": [
"status",
"source",
"draft",
"id"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"updated"
],
"description": "The redirect was updated."
},
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"draft": {
"type": "boolean",
"description": "Whether the redirect is draft and not live."
},
"id": {
"type": "string",
"description": "The ID of the updated redirect."
}
},
"required": [
"status",
"source",
"draft",
"id"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"deleted"
],
"description": "The redirect was deleted."
},
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"draft": {
"type": "boolean",
"description": "Whether the deleted redirect was draft."
}
},
"required": [
"status",
"source",
"draft"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"published"
],
"description": "The draft redirect was published to live and removed from draft."
},
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"draft": {
"type": "boolean",
"description": "Always false for published redirects."
},
"id": {
"type": "string",
"description": "The ID of the resulting live redirect."
}
},
"required": [
"status",
"source",
"draft",
"id"
]
},
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"error"
],
"description": "There was an error processing the redirect."
},
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"draft": {
"type": "boolean",
"description": "Whether the redirect is draft and not live."
},
"error": {
"type": "string",
"description": "The error message."
}
},
"required": [
"status",
"source",
"draft",
"error"
]
}
]
}
}
},
"required": [
"results"
]
}
}
}
}
}
},
"get": {
"operationId": "listSiteRedirects",
"summary": "List all site redirects",
"tags": [
"site-redirects"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
},
{
"name": "search",
"in": "query",
"description": "Search for a redirect by path",
"schema": {
"type": "string"
}
},
{
"name": "draft",
"in": "query",
"description": "Filter redirects by draft mode.",
"schema": {
"type": "boolean",
"default": false
}
}
],
"responses": {
"200": {
"description": "The list of redirects for the site.",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SiteRedirect"
}
}
}
}
]
}
}
}
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/redirects/{siteRedirectId}": {
"patch": {
"operationId": "updateSiteRedirectById",
"summary": "Update a site redirect",
"tags": [
"site-redirects"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteRedirectId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"source": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
},
"captureWildcard": {
"type": "boolean",
"description": "Capture and append the wildcard-matched suffix to the destination URL."
},
"draft": {
"type": "boolean",
"description": "When true, it can be used to promote a draft redirect to live."
},
"destination": {
"$ref": "#/components/schemas/SiteRedirectDestination"
}
}
}
}
}
},
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SiteRedirect"
}
}
}
}
}
},
"delete": {
"operationId": "deleteSiteRedirectById",
"summary": "Delete a site redirect",
"tags": [
"site-redirects"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteRedirectId"
}
],
"responses": {
"204": {
"description": "Site redirect did not exist"
},
"205": {
"description": "Site redirect deleted"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/redirect": {
"get": {
"operationId": "getSiteRedirectBySource",
"summary": "Get a site redirect by its source",
"tags": [
"site-redirects"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/siteShareKey"
},
{
"name": "source",
"in": "query",
"required": true,
"description": "The source path of the redirect.",
"schema": {
"$ref": "#/components/schemas/SiteRedirectSourcePath"
}
}
],
"responses": {
"200": {
"description": "The redirect was resolved successfully.",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"redirect": {
"$ref": "#/components/schemas/SiteRedirect"
},
"target": {
"type": "string",
"description": "URL of the destination of the redirect."
}
},
"required": [
"redirect",
"target"
]
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/orgs/{organizationId}/sites/{siteId}/mcp-servers": {
"get": {
"operationId": "listSiteMcpServers",
"summary": "List all MCP servers for a site",
"tags": [
"site-mcp-servers"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
},
{
"$ref": "#/components/parameters/listPage"
},
{
"$ref": "#/components/parameters/listLimit"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json": {
"schema": {
"allOf": [
{
"$ref": "#/components/schemas/List"
},
{
"type": "object",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SiteMcpServer"
}
}
}
}
]
}
}
}
}
}
},
"post": {
"operationId": "createSiteMcpServer",
"summary": "Create a new MCP server",
"tags": [
"site-mcp-servers"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/organizationId"
},
{
"$ref": "#/components/parameters/siteId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"name": {
"$ref": "#/components/schemas/SiteMcpServerName"
},
"url": {
"$ref": "#/components/schemas/URL"
},
"headers": {
"$ref": "#/components/schemas/SiteMcpServerHeaders"
},
"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"
}
}
}
},
"/git/installations": {
"post": {
"operationId": "installGitSyncProviderOnTarget",
"summary": "Install a Git Sync provider on a target",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"provider": {
"$ref": "#/components/schemas/GitSyncInstallationProvider"
},
"target": {
"$ref": "#/components/schemas/GitSyncInstallationTarget"
}
},
"required": [
"provider",
"target"
]
}
}
}
},
"responses": {
"201": {
"description": "Git Sync installation was created successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitSyncInstallation"
}
}
}
},
"404": {
"$ref": "#/components/responses/NotFoundError"
},
"409": {
"$ref": "#/components/responses/ConflictError"
}
}
}
},
"/git/installations/{installationId}": {
"get": {
"operationId": "getGitSyncInstallationById",
"summary": "Get a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "Git Sync installation was found successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitSyncInstallation"
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
},
"patch": {
"operationId": "updateGitSyncInstallationById",
"summary": "Update a Git Sync installation configuration",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitSyncInstallationSetup"
}
}
}
},
"responses": {
"200": {
"description": "Git Sync installation was updated successfully",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitSyncInstallation"
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
},
"409": {
"$ref": "#/components/responses/ConflictError"
}
}
},
"delete": {
"operationId": "uninstallGitSyncInstallation",
"summary": "Uninstall a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"205": {
"description": "Git Sync installation was removed successfully"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/git/installations/{installationId}/github/repos": {
"get": {
"operationId": "listGitHubRepositoriesForGitSyncInstallation",
"summary": "List GitHub repositories available for a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "GitHub repositories available for the Git Sync installation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitSyncGitHubRepository"
}
}
},
"required": [
"items"
]
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/git/installations/{installationId}/github/repos/{accountName}/{repositoryName}/branches": {
"get": {
"operationId": "listGitHubRepoBranchesForGitSyncInstallation",
"summary": "List GitHub repository branches available for a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
},
{
"name": "accountName",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "repositoryName",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "GitHub branches available for the selected repository",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitSyncBranch"
}
}
},
"required": [
"items"
]
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/git/installations/{installationId}/gitlab/projects": {
"get": {
"operationId": "listGitLabProjectsForGitSyncInstallation",
"summary": "List GitLab projects available for a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
}
],
"responses": {
"200": {
"description": "GitLab projects available for the Git Sync installation",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitSyncGitLabProject"
}
}
},
"required": [
"items"
]
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$ref": "#/components/responses/NotFoundError"
}
}
}
},
"/git/installations/{installationId}/gitlab/projects/{projectId}/branches": {
"get": {
"operationId": "listGitLabProjectBranchesForGitSyncInstallation",
"summary": "List GitLab project branches available for a Git Sync installation",
"tags": [
"git"
],
"security": [
{
"user": []
}
],
"parameters": [
{
"$ref": "#/components/parameters/installationId"
},
{
"name": "projectId",
"in": "path",
"required": true,
"schema": {
"type": "number"
}
}
],
"responses": {
"200": {
"description": "GitLab branches available for the selected project",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitSyncBranch"
}
}
},
"required": [
"items"
]
}
}
}
},
"401": {
"$ref": "#/components/responses/UnauthorizedError"
},
"404": {
"$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"
]
}
},
"documentMarkdownRefsFormat": {
"name": "format.markdown.refs",
"in": "query",
"description": "Controls how content references are formatted in markdown output. Ignored unless `format=markdown`.\n\n- `relative`: Format page references as relative links from the current page. Other references might not be handled.\n- `stable`: Format content references as stable idempotent refs containing their identifiers.\n",
"schema": {
"type": "string",
"default": "relative",
"enum": [
"relative",
"stable"
]
}
},
"documentEvaluated": {
"name": "evaluated",
"in": "query",
"description": "Controls whether the document should be evaluated.\n- When set to `true`, the entire document will be evaluated.\n- When set to `deterministic-only`, only expressions that depend\n exclusively on deterministic inputs will be evaluated.\n",
"schema": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"deterministic-only"
]
}
],
"default": false
}
},
"documentDereferenced": {
"name": "dereferenced",
"in": "query",
"description": "Controls whether the document should be deferenced (eference to other content will be resolved and expanded).\n- When set to `true`, the entire document will be deferenced\n- When set to `reusable-contents`, only reusable contents will be deferenced.\n",
"schema": {
"oneOf": [
{
"type": "boolean"
},
{
"type": "string",
"enum": [
"reusable-contents"
]
}
],
"default": false
}
},
"pagePath": {
"name": "pagePath",
"in": "path",
"required": true,
"description": "The path of the page in the revision.",
"schema": {
"type": "string"
}
},
"reusableContentId": {
"name": "reusableContentId",
"in": "path",
"required": true,
"description": "The unique id of the reusable content",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"documentSchema": {
"name": "schema",
"in": "query",
"description": "Version of the schema used for the document.",
"schema": {
"type": "string",
"enum": [
"current",
"next"
]
}
},
"changeRequestId": {
"name": "changeRequestId",
"in": "path",
"required": true,
"description": "The unique ID of the change request or its number identifier in the space",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"reviewId": {
"name": "reviewId",
"in": "path",
"required": true,
"description": "The unique ID of the change request review.",
"schema": {
"type": "string"
}
},
"listOrder": {
"name": "order",
"in": "query",
"description": "An order for the items in the list",
"schema": {
"type": "string",
"default": "desc",
"enum": [
"asc",
"desc"
]
}
},
"status": {
"name": "status",
"in": "query",
"description": "When provided, only comments with the given status are returned. Defaults to \"all\".",
"schema": {
"type": "string",
"default": "all",
"enum": [
"all",
"open",
"resolved"
]
}
},
"targetPage": {
"name": "targetPage",
"in": "query",
"description": "The target page of the comment",
"schema": {
"type": "string"
}
},
"authors": {
"name": "authors",
"in": "query",
"description": "User IDs to filter queried comments on",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"commentId": {
"name": "commentId",
"in": "path",
"required": true,
"description": "The unique id of the comment",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"commentReplyId": {
"name": "commentReplyId",
"in": "path",
"required": true,
"description": "The unique id of the comment reply",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"revisionId": {
"name": "revisionId",
"in": "path",
"required": true,
"description": "The unique id of the revision",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"integrationSearchQuery": {
"name": "search",
"in": "query",
"description": "A search string to filter integrations by name\n",
"schema": {
"type": "string"
}
},
"collectionId": {
"name": "collectionId",
"in": "path",
"required": true,
"description": "The unique id of the collection",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"integrationSearchCategory": {
"name": "category",
"in": "query",
"description": "Filter the integrations by category",
"schema": {
"$ref": "#/components/schemas/IntegrationCategory"
}
},
"integrationSearchBlockDomain": {
"name": "blockDomain",
"in": "query",
"description": "Filter the integrations by block's domains",
"schema": {
"type": "string",
"pattern": "^[a-zA-Z0-9-_.]+$",
"maxLength": 100
}
},
"integrationSearchBlocks": {
"name": "blocks",
"in": "query",
"description": "If true, returns only integrations with blocks. If false, returns only integrations without blocks.",
"schema": {
"type": "boolean"
}
},
"integrationSearchContentSources": {
"name": "contentSources",
"in": "query",
"description": "If true, returns only integrations with contentSources. If false, returns only integrations without contentSources.",
"schema": {
"type": "boolean"
}
},
"integrationSearchOwner": {
"name": "owner",
"in": "query",
"description": "If defined, only list integrations owned by the given organization.",
"schema": {
"type": "string"
}
},
"integrationSearchScope": {
"name": "scope",
"in": "query",
"description": "Filter the integrations by scope",
"schema": {
"$ref": "#/components/schemas/IntegrationScope"
}
},
"integrationSearchTarget": {
"name": "target",
"in": "query",
"description": "Filter the integrations by target",
"schema": {
"$ref": "#/components/schemas/IntegrationTarget"
}
},
"integrationName": {
"name": "integrationName",
"in": "path",
"required": true,
"description": "Name of the integration.",
"schema": {
"type": "string",
"pattern": "^[a-zA-Z0-9-_.]+$",
"maxLength": 100
}
},
"integrationEventId": {
"name": "eventId",
"in": "path",
"required": true,
"description": "ID of the integration event",
"schema": {
"type": "string"
}
},
"installationId": {
"name": "installationId",
"in": "path",
"required": true,
"description": "Identifier of the installation",
"schema": {
"type": "string"
}
},
"siteId": {
"name": "siteId",
"in": "path",
"required": true,
"description": "The unique id of the site",
"schema": {
"type": "string"
}
},
"organizationId": {
"name": "organizationId",
"in": "path",
"required": true,
"description": "The unique id of the organization",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"inviteId": {
"name": "inviteId",
"in": "path",
"required": true,
"description": "The unique id of the invite",
"schema": {
"$ref": "#/components/schemas/EntityId"
}
},
"successReturnURL": {
"name": "successReturnURL",
"in": "query",
"description": "The app screen URL to bring the user back to after a successful checkout.",
"schema": {
"type": "string"
}
},
"cancelReturnURL": {
"name": "cancelReturnURL",
"in": "query",
"description": "The app screen URL to bring the user back to after a canceled checkout.",
"schema": {
"type": "string"
}
},
"meterName": {
"name": "meterName",
"in": "path",
"required": true,
"description": "Identifier of the billing meter",
"schema": {
"$ref": "#/components/schemas/BillingMeter"
}
},
"samlProviderId": {
"name": "samlProviderId",
"in": "path",
"required": true,
"description": "The unique id of the SAML provider",
"schema": {
"type": "string"
}
},
"openapiSpecSlug": {
"name": "specSlug",
"in": "path",
"required": true,
"description": "Slug of the OpenAPI specification",
"schema": {
"type": "string"
}
},
"openapiSpecVersionId": {
"name": "versionId",
"in": "path",
"required": true,
"description": "The unique ID of the OpenAPI specification version",
"schema": {
"type": "string"
}
},
"translationId": {
"name": "translationId",
"in": "path",
"required": true,
"description": "The unique id of the translation",
"schema": {
"type": "string"
}
},
"glossaryEntryId": {
"name": "glossaryEntryId",
"in": "path",
"required": true,
"description": "The unique id of the glossary entry",
"schema": {
"type": "string"
}
},
"fontId": {
"name": "fontId",
"in": "path",
"required": true,
"description": "The unique ID of a font",
"schema": {
"type": "string"
}
},
"importRunId": {
"name": "importRunId",
"in": "path",
"required": true,
"description": "The unique id of the import run",
"schema": {
"type": "string"
}
},
"shareLinkId": {
"name": "shareLinkId",
"in": "path",
"required": true,
"description": "The unique id of the share link",
"schema": {
"type": "string"
}
},
"siteCustomizationUnmasked": {
"name": "unmasked",
"in": "query",
"description": "(Deprecated) Use the getRawCustomizationSettingsById internal endpoint.",
"deprecated": true,
"schema": {
"type": "boolean",
"default": false
}
},
"siteSectionGroupId": {
"name": "siteSectionGroupId",
"in": "path",
"required": true,
"description": "The unique id of the site group",
"schema": {
"type": "string"
}
},
"siteSectionId": {
"name": "siteSectionId",
"in": "path",
"required": true,
"description": "The unique id of the section within a site",
"schema": {
"type": "string"
}
},
"siteContextRecordId": {
"name": "siteContextRecordId",
"in": "path",
"required": true,
"description": "The unique id of the context record",
"schema": {
"type": "string"
}
},
"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.\n* `unlisted`: Anyone can access the content, and the content is not indexed by search engines\n* `share-link`: Anyone with a secret token in the url can access the content.\n* `visitor-auth`: Anyone authenticated through a JWT token can access the content.\n* `in-collection`: Anyone who can access the parent collection can access the content.\n Only available for spaces in a collection.\n* `private`: Authorized members can access the content.\n",
"enum": [
"public",
"unlisted",
"share-link",
"visitor-auth",
"in-collection",
"private"
]
},
"SpaceEditMode": {
"type": "string",
"description": "Determines how a Space can be edited.\n* `live`: Users can directly edit the space\n* `locked`: All edits are locked for this space.\n",
"enum": [
"live",
"locked"
]
},
"MergeRulesConfigurationInherit": {
"type": "object",
"description": "The merge rules inherits from the organization configuration.",
"properties": {
"type": {
"type": "string",
"enum": [
"inherit"
]
}
},
"required": [
"type"
]
},
"Expression": {
"type": "string",
"description": "Expression to evaluate",
"minLength": 0,
"maxLength": 1024
},
"MergeRule": {
"oneOf": [
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"enum": [
"require_specific_reviewers"
]
},
"users": {
"type": "array",
"description": "List of user IDs.",
"items": {
"type": "string"
}
}
},
"required": [
"rule",
"users"
]
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"enum": [
"require_one_of_specific_reviewers"
]
},
"users": {
"type": "array",
"description": "List of user IDs.",
"items": {
"type": "string"
}
}
},
"required": [
"rule",
"users"
]
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"enum": [
"allow_bypass"
]
},
"users": {
"type": "array",
"description": "List of user IDs.",
"items": {
"type": "string"
}
}
},
"required": [
"rule",
"users"
]
},
{
"type": "object",
"properties": {
"rule": {
"type": "string",
"enum": [
"require_at_least_one_review",
"require_at_least_one_approved_review",
"require_all_reviews_approved",
"require_agent_review",
"require_up_to_date_change_request",
"require_change_request_subject",
"require_change_request_description",
"require_author_to_merge"
]
}
},
"required": [
"rule"
]
},
{
"type": "object",
"description": "The merge rule is written in the advanced custom expression syntax.",
"properties": {
"rule": {
"type": "string",
"enum": [
"custom"
]
},
"expression": {
"$ref": "#/components/schemas/Expression"
}
},
"required": [
"rule",
"expression"
]
}
]
},
"MergeRulesConfigurationRules": {
"type": "object",
"description": "The merge rules are composed of individual rules that must all pass.",
"properties": {
"type": {
"type": "string",
"enum": [
"rules"
]
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MergeRule"
}
}
},
"required": [
"type",
"rules"
]
},
"MergeRulesConfigurationNone": {
"type": "object",
"description": "The merge rules are disabled, change requests can be merged without review.",
"properties": {
"type": {
"type": "string",
"enum": [
"none"
]
}
},
"required": [
"type"
]
},
"MergeRulesStandaloneConfiguration": {
"oneOf": [
{
"$ref": "#/components/schemas/MergeRulesConfigurationRules"
},
{
"$ref": "#/components/schemas/MergeRulesConfigurationNone"
}
]
},
"MergeRulesSpaceConfiguration": {
"oneOf": [
{
"$ref": "#/components/schemas/MergeRulesConfigurationInherit"
},
{
"$ref": "#/components/schemas/MergeRulesStandaloneConfiguration"
}
]
},
"TranslationLanguage": {
"type": "string",
"enum": [
"en",
"fr",
"de",
"es",
"it",
"pt",
"pt-br",
"ru",
"ja",
"zh",
"zh-tw",
"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"
]
},
"GitSyncInstallationStatus": {
"type": "string",
"enum": [
"unauthenticated",
"active",
"pending"
]
},
"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."
},
"installationStatus": {
"$ref": "#/components/schemas/GitSyncInstallationStatus"
},
"installationProvider": {
"$ref": "#/components/schemas/GitSyncProvider"
},
"integration": {
"type": "string",
"deprecated": true,
"description": "The integration name providing the Git Sync."
},
"installationId": {
"type": "string",
"description": "The ID of the Git Sync installation."
},
"url": {
"type": "string",
"description": "The URL to the repository tree, used when rendering public content."
},
"updatedAt": {
"description": "When the Git provider details were last updated",
"$ref": "#/components/schemas/Timestamp"
}
}
},
"VisitorAuthCustomBackend": {
"type": "object",
"title": "Custom backend for authenticated access",
"properties": {
"backend": {
"type": "string",
"description": "Custom backend for authenticated access",
"enum": [
"custom"
]
}
},
"required": [
"backend"
]
},
"VisitorAuthIntegrationBackend": {
"type": "object",
"title": "Integration backend for authenticated access",
"properties": {
"backend": {
"type": "string",
"description": "Integration as backend for authenticated access",
"enum": [
"integration"
]
}
},
"required": [
"backend"
]
},
"VisitorAuth": {
"oneOf": [
{
"$ref": "#/components/schemas/VisitorAuthCustomBackend"
},
{
"allOf": [
{
"$ref": "#/components/schemas/VisitorAuthIntegrationBackend"
},
{
"type": "object",
"properties": {
"integration": {
"type": "string",
"description": "Name of integration being used as the backend for authenticated access"
}
},
"required": [
"integration"
]
}
]
}
]
},
"MemberRole": {
"type": "string",
"description": "\"The role of a member in an organization.\n\"admin\": Can administrate the content: create, delete spaces, ...\n\"create\": Can create content.\n\"review\": Can review content.\n\"edit\": Can edit the content (live or change requests).\n\"comment\": Can access the content and its discussions.\n\"read\": Can access the content, but cannot update it in any way.\n",
"enum": [
"admin",
"create",
"edit",
"review",
"comment",
"read"
]
},
"MemberRoleOrGuest": {
"description": "The role of a member in an organization, null for guests",
"oneOf": [
{
"$ref": "#/components/schemas/MemberRole"
},
{
"type": "null"
}
]
},
"DefaultLevel": {
"description": "Default level for a piece of content",
"oneOf": [
{
"$ref": "#/components/schemas/MemberRoleOrGuest"
},
{
"type": "string",
"enum": [
"inherit"
]
}
]
},
"Space": {
"type": "object",
"properties": {
"object": {
"type": "string",
"description": "Type of Object, always equals to \"space\"",
"enum": [
"space"
]
},
"id": {
"type": "string",
"description": "Unique identifier for the space"
},
"title": {
"$ref": "#/components/schemas/SpaceTitle"
},
"emoji": {
"description": "An emoji for this space. It'll match the emoji shown in the GitBook app.",
"$ref": "#/components/schemas/Emoji"
},
"visibility": {
"$ref": "#/components/schemas/ContentVisibility"
},
"createdAt": {
"$ref": "#/components/schemas/Timestamp"
},
"updatedAt": {
"$ref": "#/components/schemas/Timestamp"
},
"deletedAt": {
"$ref": "#/components/schemas/Timestamp"
},
"editMode": {
"$ref": "#/components/schemas/SpaceEditMode"
},
"mergeRules": {
"$ref": "#/components/schemas/MergeRulesSpaceConfiguration"
},
"urls": {
"type": "object",
"description": "URLs associated with the object",
"properties": {
"location": {
"type": "string",
"description": "URL of the space in the API",
"format": "uri"
},
"app": {
"type": "string",
"description": "URL of the space in the application",
"format": "uri"
},
"published": {
"type": "string",
"description": "URL of the published version of the space. Only defined when visibility is not \"private.\"",
"format": "uri"
},
"public": {
"type": "string",
"description": "URL of the public version of the space. Only defined when visibility is \"public\".",
"format": "uri"
},
"icon": {
"description": "URL of the icon of this space, if defined.",
"$ref": "#/components/schemas/URL"
}
},
"required": [
"app",
"location"
]
},
"organization": {
"type": "string",
"description": "ID of the organization owning this space"
},
"parent": {
"type": "string",
"description": "ID of the parent collection."
},
"language": {
"$ref": "#/components/schemas/TranslationLanguage"
},
"gitSync": {
"$ref": "#/components/schemas/GitSyncState"
},
"visitorAuth": {
"$ref": "#/components/schemas/VisitorAuth"
},
"revision": {
"type": "string",
"description": "ID of the active revision in the space."
},
"defaultLevel": {
"$ref": "#/components/schemas/DefaultLevel"
},
"comments": {
"type": "number",
"description": "Count of opened comments on the space."
},
"changeRequests": {
"type": "number",
"description": "Total count of change requests on the space."
},
"changeRequestsOpen": {
"type": "number",
"description": "Count of open change requests on the space."
},
"changeRequestsDraft": {
"type": "number",
"description": "Count of draft change requests on the space."
},
"internal_poweredByV2": {
"type": "boolean",
"description": "Whether the space is powered by V2 of the content system."
},
"internal_singleWebsocket": {
"type": "boolean",
"description": "Whether the space uses a single websocket connection for all real-time communication."
},
"permissions": {
"type": "object",
"description": "The set of permissions for the space",
"properties": {
"view": {
"type": "boolean",
"description": "Can the user view the space content."
},
"access": {
"type": "boolean",
"description": "Can the user access the space in the application."
},
"admin": {
"type": "boolean",
"description": "Can the user edit the title, install integrations, and manage the space."
},
"viewInviteLinks": {
"type": "boolean",
"description": "Can the user view the invite links of the space."
},
"edit": {
"type": "boolean",
"description": "Can the user edit the content of the space by creating a change request."
},
"triggerGitSync": {
"type": "boolean",
"description": "Can the user trigger a git sync."
},
"comment": {
"type": "boolean",
"description": "Can the user comment on the content."
},
"merge": {
"type": "boolean",
"description": "Can the user merge change requests."
},
"review": {
"type": "boolean",
"description": "Can the user review change requests."
},
"installIntegration": {
"type": "boolean",
"description": "Can the user install integrations in the space."
}
},
"required": [
"view",
"access",
"admin",
"viewInviteLinks",
"edit",
"triggerGitSync",
"comment",
"merge",
"review",
"installIntegration"
]
}
},
"required": [
"object",
"id",
"title",
"emoji",
"organization",
"visibility",
"revision",
"createdAt",
"updatedAt",
"comments",
"changeRequests",
"changeRequestsOpen",
"changeRequestsDraft",
"mergeRules",
"urls",
"defaultLevel",
"permissions"
]
},
"SpacePointer": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"space"
]
},
"space": {
"type": "string",
"description": "Unique identifier for the space"
}
},
"required": [
"type",
"space"
]
},
"CollectionPointer": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"collection"
]
},
"collection": {
"type": "string",
"description": "Unique identifier for the collection"
}
},
"required": [
"type",
"collection"
]
},
"ContentPosition": {
"type": "object",
"description": "Position at which to insert an item",
"properties": {
"before": {
"oneOf": [
{
"$ref": "#/components/schemas/SpacePointer"
},
{
"$ref": "#/components/schemas/CollectionPointer"
}
]
},
"after": {
"oneOf": [
{
"$ref": "#/components/schemas/SpacePointer"
},
{
"$ref": "#/components/schemas/CollectionPointer"
}
]
}
}
},
"IntegrationBlockMarkdown": {
"oneOf": [
{
"type": "object",
"description": "Format the custom block as a codeblock",
"properties": {
"codeblock": {
"description": "Code block syntax to use to identify the block.",
"type": "string"
},
"body": {
"description": "Key of the property to use as body of the codeblock.",
"type": "string"
}
},
"required": [
"codeblock",
"body"
]
}
]
},
"IntegrationBlock": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique ID in the integration for the block. It also represents the UI component used."
},
"title": {
"type": "string",
"description": "Short descriptive title for the block.",
"minLength": 2,
"maxLength": 40
},
"description": {
"type": "string",
"description": "Long descriptive text for the block.",
"minLength": 0,
"maxLength": 150
},
"icon": {
"type": "string",
"description": "URL of the icon to represent this block."
},
"urlUnfurl": {
"type": "array",
"description": "URLs patterns to convert as this block.",
"items": {
"type": "string"
}
},
"markdown": {
"$ref": "#/components/schemas/IntegrationBlockMarkdown"
}
},
"required": [
"id",
"title"
]
},
"Embed": {
"allOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"site": {
"type": "string"
},
"icon": {
"type": "string"
}
},
"required": [
"title",
"site"
]
},
{
"oneOf": [
{
"type": "object",
"title": "Link",
"properties": {
"type": {
"type": "string",
"enum": [
"link"
]
}
},
"required": [
"type"
]
},
{
"type": "object",
"title": "HTML",
"properties": {
"type": {
"type": "string",
"enum": [
"rich"
]
},
"html": {
"type": "string"
}
},
"required": [
"type",
"html"
]
},
{
"type": "object",
"title": "Integration",
"properties": {
"type": {
"type": "string",
"enum": [
"integration"
]
},
"integration": {
"description": "The identifier of the integration performing the rendering",
"type": "string"
},
"block": {
"$ref": "#/components/schemas/IntegrationBlock"
}
},
"required": [
"type",
"integration",
"block"
]
}
]
}
]
},
"SearchResultScore": {
"type": "number",
"minimum": 0,
"description": "Relevance score for a search result. Higher is better and the score is unbounded."
},
"SearchSectionResult": {
"type": "object",
"description": "Search result representing a section in a page.",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"path": {
"type": "string"
},
"score": {
"$ref": "#/components/schemas/SearchResultScore"
},
"body": {
"type": "string"
},
"urls": {
"type": "object",
"description": "URLs associated with the object",
"properties": {
"app": {
"type": "string",
"description": "URL of the section in the application",
"format": "uri"
}
},
"required": [
"app"
]
}
},
"required": [
"id",
"title",
"path",
"score",
"body",
"urls"
]
},
"SearchPageResult": {
"type": "object",
"description": "Search result representing a page in a space.",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"path": {
"type": "string"
},
"score": {
"$ref": "#/components/schemas/SearchResultScore"
},
"sections": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SearchSectionResult"
}
},
"ancestors": {
"type": "array",
"description": "Data about the ancestors of the current page, from top-level to direct parent.",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
}
},
"required": [
"title"
]
}
},
"urls": {
"type": "object",
"description": "URLs associated with the object",
"properties": {
"app": {
"type": "string",
"description": "URL of the page in the application",
"format": "uri"
}
},
"required": [
"app"
]
}
},
"required": [
"id",
"title",
"path",
"score",
"ancestors",
"urls"
]
},
"UpdateSpaceGitInfo": {
"type": "object",
"description": "Update metadata about the Git provider on the space",
"properties": {
"provider": {
"type": "string",
"description": "The git provider",
"enum": [
"github",
"gitlab"
]
},
"url": {
"type": "string",
"description": "The repository's tree URL"
}
}
},
"ImportGitRepository": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of the Git repository to import. It can contain basic auth credentials."
},
"ref": {
"type": "string",
"description": "Git ref to import in the format \"refs/heads/main\""
},
"repoCacheID": {
"type": "string",
"description": "Unique identifier to use to cache the Git repository across multiple operations.",
"deprecated": true
},
"repoTreeURL": {
"type": "string",
"description": "URL to use as a prefix for external file references."
},
"repoCommitURL": {
"type": "string",
"description": "URL to use as a prefix for the commit URL."
},
"repoProjectDirectory": {
"type": "string",
"description": "Path to a root directory for the project in the repository."
},
"timestamp": {
"description": "The timestamp of the event that triggered this import. It ensures that Git sync import and export operations are executed in the same order on GitBook and on the remote repository.\n",
"$ref": "#/components/schemas/Timestamp"
},
"force": {
"type": "boolean"
},
"standalone": {
"type": "boolean",
"description": "If true, the import will generate a revision without updating the space primary content."
},
"gitInfo": {
"description": "Optional metadata to store on the space about the Git provider",
"$ref": "#/components/schemas/UpdateSpaceGitInfo"
}
},
"required": [
"url",
"ref"
]
},
"ExportToGitRepository": {
"type": "object",
"properties": {
"url": {
"type": "string",
"description": "URL of the Git repository to export to. It can contain basic auth credentials."
},
"ref": {
"type": "string",
"description": "Git ref to push the commit to in the format \"refs/heads/main\""
},
"commitMessage": {
"type": "string",
"description": "Message for the commit generated by the export"
},
"repoCacheID": {
"type": "string",
"description": "Unique identifier to use to cache the Git repository across multiple operations.",
"deprecated": true
},
"repoTreeURL": {
"type": "string",
"description": "URL to use as a prefix for external file references."
},
"repoCommitURL": {
"type": "string",
"description": "URL to use as a prefix for the commit URL."
},
"repoProjectDirectory": {
"type": "string",
"description": "Path to a root directory for the project in the repository."
},
"timestamp": {
"description": "The timestamp of the event that triggered this export. It ensures that Git sync import and export operations are executed in the same order on GitBook and on the remote repository.\n",
"$ref": "#/components/schemas/Timestamp"
},
"force": {
"type": "boolean"
},
"gitInfo": {
"description": "Optional metadata to store on the space about the Git provider",
"$ref": "#/components/schemas/UpdateSpaceGitInfo"
}
},
"required": [
"url",
"ref",
"commitMessage"
]
},
"InviteUsersAndTeams": {
"type": "object",
"properties": {
"role": {
"description": "Role to set.",
"$ref": "#/components/schemas/MemberRoleOrGuest"
}
},
"anyOf": [
{
"type": "object",
"properties": {
"teams": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"description": "The ID of the team to be invited"
}
}
},
"required": [
"teams"
]
},
{
"type": "object",
"properties": {
"users": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"description": "The ID of the user to be invited"
}
}
},
"required": [
"users"
]
}
],
"required": [
"role"
]
},
"UserContentPermission": {
"type": "object",
"description": "Permission of a user in a content.",
"properties": {
"permission": {
"$ref": "#/components/schemas/MemberRole"
},
"user": {
"$ref": "#/components/schemas/User"
}
},
"required": [
"permission",
"user"
]
},
"OrganizationTeamTitle": {
"type": "string",
"description": "Title of the team",
"minLength": 1,
"maxLength": 64
},
"OrganizationTeam": {
"type": "object",
"properties": {
"object": {
"type": "string",
"description": "Type of Object, always equals to \"team\"",
"enum": [
"team"
]
},
"id": {
"type": "string",
"description": "Unique identifier for the team."
},
"title": {
"$ref": "#/components/schemas/OrganizationTeamTitle"
},
"members": {
"type": "integer",
"description": "Count of members in this team."
},
"spaces": {
"type": "number",
"description": "Count of spaces this team has access to."
},
"createdAt": {
"description": "Date at which the team was created.",
"$ref": "#/components/schemas/Timestamp"
},
"permissions": {
"type": "object",
"description": "The set of permissions for the team",
"properties": {
"admin": {
"type": "boolean",
"description": "Can the user manage the team"
},
"view": {
"type": "boolean",
"description": "Can the user view the team and list its members"
}
},
"required": [
"admin",
"view"
]
}
},
"required": [
"object",
"id",
"title",
"members",
"spaces",
"createdAt",
"permissions"
]
},
"Icon": {
"type": "string",
"maxLength": 50,
"format": "icon",
"description": "Name of the icon",
"example": "gear"
},
"RevisionPageBase": {
"type": "object",
"properties": {
"id": {
"description": "Unique identifier for the page in the revision",
"type": "string"
},
"title": {
"description": "Title of the page",
"type": "string",
"minLength": 1
},
"linkTitle": {
"description": "Optional custom title for the page ToC and mention entries instead of the page title.",
"type": "string",
"minLength": 1,
"maxLength": 100
},
"emoji": {
"description": "Emoji of the page, if one has been set.",
"$ref": "#/components/schemas/Emoji"
},
"icon": {
"description": "Icon of the page, if one has been set.",
"$ref": "#/components/schemas/Icon"
},
"createdAt": {
"description": "When the page was first created. Only present if page has been edited at least once.",
"$ref": "#/components/schemas/Timestamp"
},
"updatedAt": {
"description": "When the page was last edited. Only present if page has been edited at least once.",
"$ref": "#/components/schemas/Timestamp"
}
},
"required": [
"id",
"title"
]
},
"MarkdownDocument": {
"type": "object",
"properties": {
"markdown": {
"type": "string",
"description": "Content of the document formatted as markdown"
}
},
"required": [
"markdown"
]
},
"DocumentMarkBold": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"mark"
]
},
"type": {
"type": "string",
"enum": [
"bold"
]
}
},
"required": [
"object",
"type"
]
},
"DocumentMarkItalic": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"mark"
]
},
"type": {
"type": "string",
"enum": [
"italic"
]
}
},
"required": [
"object",
"type"
]
},
"DocumentMarkCode": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"mark"
]
},
"type": {
"type": "string",
"enum": [
"code"
]
}
},
"required": [
"object",
"type"
]
},
"DocumentMarkKeyboard": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"mark"
]
},
"type": {
"type": "string",
"enum": [
"keyboard"
]
}
},
"required": [
"object",
"type"
]
},
"DocumentMarkStrikethrough": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"mark"
]
},
"type": {
"type": "string",
"enum": [
"strikethrough"
]
}
},
"required": [
"object",
"type"
]
},
"DocumentTextColor": {
"type": "string",
"description": "Allowed color tokens for color marks (text and background; background reuses this enum). Named colors are fixed palette keys. `$*` tokens are semantic: resolved from the published sites customization when rendering; authors may still persist them in content when valid.\n",
"enum": [
"default",
"green",
"blue",
"red",
"orange",
"yellow",
"purple",
"pink",
"violet",
"cyan",
"$primary",
"$info",
"$success",
"$warning",
"$danger",
"$tint"
]
},
"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\nin columnWidths would be scaled to ensure a 100% width table.\n\nWe later changed this to treat the widths in columnWidths as exact values - they are\nnever scaled. A columnWidth of 50 is rendered as 50px.\n\nIn order to maintain backwards compatibility, we track whether or not we\nuse the new system here.\n\nAll new tables should have this value set to true, older tables will have it set\nto undefined.\n"
}
},
"required": [
"type",
"columns",
"hideHeader"
]
},
"DocumentTableViewCards": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"cards"
]
},
"cardSize": {
"type": "string",
"description": "Size of the cards. It indicates how many columns will be used",
"enum": [
"medium",
"large"
]
},
"columns": {
"type": "array",
"description": "Ordered list of the definition IDs to display",
"items": {
"type": "string"
}
},
"targetDefinition": {
"type": "string",
"description": "Definition ID to use as a target link for the card"
},
"coverDefinition": {
"type": "string",
"description": "Definition ID to use as a cover image"
},
"coverDefinitionDark": {
"type": "string",
"description": "Definition ID to use as a dark mode cover image"
},
"hideColumnTitle": {
"type": "boolean",
"description": "Should we display the column title or not"
}
},
"required": [
"type",
"columns",
"cardSize"
]
},
"CardsImageObjectFit": {
"type": "string",
"description": "Object fit for image display in card views",
"enum": [
"contain",
"fill",
"cover"
]
},
"DocumentTableImageRecord": {
"description": "A table record value for image columns, supporting both direct ContentRefs and the additional format with record-level settings.",
"oneOf": [
{
"$ref": "#/components/schemas/ContentRefFile"
},
{
"$ref": "#/components/schemas/ContentRefURL"
},
{
"type": "object",
"properties": {
"ref": {
"oneOf": [
{
"$ref": "#/components/schemas/ContentRefFile"
},
{
"$ref": "#/components/schemas/ContentRefURL"
}
]
},
"objectFit": {
"$ref": "#/components/schemas/CardsImageObjectFit"
},
"alt": {
"type": "string",
"description": "Alternative text for the cover image"
}
},
"required": [
"ref"
]
}
]
},
"DocumentTableRecord": {
"type": "object",
"properties": {
"orderIndex": {
"type": "string"
},
"values": {
"type": "object",
"additionalProperties": {
"oneOf": [
{
"type": "number"
},
{
"type": [
"string",
"null"
]
},
{
"type": "boolean"
},
{
"type": "array",
"items": {
"type": "string"
}
},
{
"$ref": "#/components/schemas/ContentRef"
},
{
"$ref": "#/components/schemas/DocumentTableImageRecord"
}
]
}
}
},
"required": [
"orderIndex",
"values"
]
},
"DocumentTableDefinitionBase": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string",
"description": "Title for the column"
}
},
"required": [
"id",
"title"
]
},
"VerticalAlignment": {
"type": "string",
"enum": [
"top",
"middle",
"bottom"
]
},
"DocumentTableDefinitionText": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"text"
]
},
"textAlignment": {
"type": "string",
"enum": [
"center",
"right",
"left"
]
},
"verticalAlignment": {
"$ref": "#/components/schemas/VerticalAlignment"
}
},
"required": [
"type",
"textAlignment"
]
}
]
},
"DocumentTableDefinitionNumber": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"number"
]
}
},
"required": [
"type"
]
}
]
},
"DocumentTableDefinitionCheckbox": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"checkbox"
]
}
},
"required": [
"type"
]
}
]
},
"DocumentTableDefinitionFiles": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"files"
]
}
},
"required": [
"type"
]
}
]
},
"DocumentTableDefinitionUsers": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"users"
]
},
"multiple": {
"type": "boolean"
}
},
"required": [
"type",
"multiple"
]
}
]
},
"DocumentTableDefinitionRating": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"rating"
]
},
"max": {
"type": "number"
}
},
"required": [
"type",
"max"
]
}
]
},
"DocumentTableSelectOption": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"color": {
"type": "string"
}
},
"required": [
"value",
"label",
"color"
]
},
"DocumentTableDefinitionSelect": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"select"
]
},
"multiple": {
"type": "boolean"
},
"options": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentTableSelectOption"
}
}
},
"required": [
"type",
"multiple",
"options"
]
}
]
},
"DocumentTableDefinitionContentRef": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"content-ref"
]
}
},
"required": [
"type"
]
}
]
},
"DocumentTableDefinitionImage": {
"allOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionBase"
},
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image"
]
}
},
"required": [
"type"
]
}
]
},
"DocumentTableDefinition": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentTableDefinitionText"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionNumber"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionCheckbox"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionFiles"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionUsers"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionRating"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionSelect"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionContentRef"
},
{
"$ref": "#/components/schemas/DocumentTableDefinitionImage"
}
]
},
"DocumentFragment": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"fragment"
]
},
"key": {
"type": "string"
},
"fragment": {
"type": "string"
},
"type": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentBlock"
}
}
},
"required": [
"object",
"nodes"
]
},
"DocumentBlockTable": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"table"
]
},
"key": {
"type": "string"
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {
"view": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentTableViewGrid"
},
{
"$ref": "#/components/schemas/DocumentTableViewCards"
}
]
},
"records": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/DocumentTableRecord"
}
},
"definition": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/DocumentTableDefinition"
}
},
"fullWidth": {
"type": "boolean",
"description": "Whether to render the block as a full width one"
}
},
"required": [
"view",
"records",
"definition"
]
},
"fragments": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentFragment"
}
}
},
"required": [
"object",
"type",
"data",
"isVoid",
"fragments"
]
},
"DocumentBlockListItem": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"list-item"
]
},
"key": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlocksEssentials"
},
{
"$ref": "#/components/schemas/DocumentBlockCode"
},
{
"$ref": "#/components/schemas/DocumentBlockHint"
},
{
"$ref": "#/components/schemas/DocumentBlockQuote"
},
{
"$ref": "#/components/schemas/DocumentBlockMath"
},
{
"$ref": "#/components/schemas/DocumentBlockTable"
}
]
}
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"type": "object",
"properties": {
"checked": {
"type": "boolean"
}
}
}
},
"required": [
"object",
"type",
"nodes"
]
},
"DocumentBlockListOrdered": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"list-ordered"
]
},
"key": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"start": {
"type": "number",
"description": "An integer to start counting from for the list items."
}
}
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlockListItem"
}
]
}
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
}
},
"required": [
"object",
"type",
"data",
"nodes"
]
},
"DocumentBlockListUnordered": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"list-unordered"
]
},
"key": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlockListItem"
}
]
}
},
"data": {
"type": "object",
"additionalProperties": false
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
}
},
"required": [
"object",
"type",
"nodes"
]
},
"DocumentBlockListTasks": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"list-tasks"
]
},
"key": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlockListItem"
}
]
}
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"required": [
"object",
"type",
"nodes"
]
},
"DocumentBlockDivider": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"divider"
]
},
"key": {
"type": "string"
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {},
"additionalProperties": false
}
},
"required": [
"object",
"type",
"isVoid",
"data"
]
},
"DocumentBlocksTopLevels": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlocksEssentials"
},
{
"$ref": "#/components/schemas/DocumentBlockQuote"
},
{
"$ref": "#/components/schemas/DocumentBlockHint"
},
{
"$ref": "#/components/schemas/DocumentBlockImages"
},
{
"$ref": "#/components/schemas/DocumentBlockFile"
},
{
"$ref": "#/components/schemas/DocumentBlockDrawing"
},
{
"$ref": "#/components/schemas/DocumentBlockEmbed"
},
{
"$ref": "#/components/schemas/DocumentBlockCode"
},
{
"$ref": "#/components/schemas/DocumentBlockMath"
},
{
"$ref": "#/components/schemas/DocumentBlockExpandable"
},
{
"$ref": "#/components/schemas/DocumentBlockTabs"
},
{
"$ref": "#/components/schemas/DocumentBlockTable"
},
{
"$ref": "#/components/schemas/DocumentBlockOpenAPI"
},
{
"$ref": "#/components/schemas/DocumentBlockOpenAPIOperation"
},
{
"$ref": "#/components/schemas/DocumentBlockOpenAPISchemas"
},
{
"$ref": "#/components/schemas/DocumentBlockOpenAPIWebhook"
},
{
"$ref": "#/components/schemas/DocumentBlockContentRef"
},
{
"$ref": "#/components/schemas/DocumentBlockIntegration"
},
{
"$ref": "#/components/schemas/DocumentBlockReusableContent"
},
{
"$ref": "#/components/schemas/DocumentBlockStepper"
},
{
"$ref": "#/components/schemas/DocumentBlockIf"
},
{
"$ref": "#/components/schemas/DocumentBlockColumns"
},
{
"$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.\nThis property is set when creating a block from a URL (unfurl) to ensure\nwe can convert the block back to an embed.\n"
},
"fullWidth": {
"type": "boolean"
}
},
"required": [
"integration",
"block",
"props"
]
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
}
},
"required": [
"object",
"type",
"data",
"isVoid"
]
},
"DocumentBlockExpandable": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"expandable"
]
},
"key": {
"type": "string"
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
},
"data": {
"type": "object",
"properties": {
"defaultExpanded": {
"type": "boolean"
}
},
"additionalProperties": false
},
"fragments": {
"type": "array",
"items": {
"oneOf": [
{
"allOf": [
{
"$ref": "#/components/schemas/DocumentFragment"
},
{
"type": "object",
"properties": {
"fragment": {
"type": "string",
"enum": [
"expandable-title"
]
},
"type": {
"type": "string",
"enum": [
"expandable-title"
]
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentBlockParagraph"
},
"minItems": 1,
"maxItems": 1
}
},
"required": [
"nodes",
"fragment",
"type"
]
}
]
},
{
"allOf": [
{
"$ref": "#/components/schemas/DocumentFragment"
},
{
"type": "object",
"properties": {
"fragment": {
"type": "string",
"enum": [
"expandable-body"
]
},
"type": {
"type": "string",
"enum": [
"expandable-body"
]
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlocksEssentials"
},
{
"$ref": "#/components/schemas/DocumentBlockFile"
},
{
"$ref": "#/components/schemas/DocumentBlockImages"
},
{
"$ref": "#/components/schemas/DocumentBlockCode"
},
{
"$ref": "#/components/schemas/DocumentBlockTable"
},
{
"$ref": "#/components/schemas/DocumentBlockHint"
},
{
"$ref": "#/components/schemas/DocumentBlockQuote"
},
{
"$ref": "#/components/schemas/DocumentBlockReusableContent"
},
{
"$ref": "#/components/schemas/DocumentBlockIntegration"
}
]
},
"minItems": 1
}
},
"required": [
"nodes",
"fragment",
"type"
]
}
]
}
]
}
},
"meta": {
"type": "object",
"properties": {
"id": {
"description": "Unique ID to be used in an URL for the block.",
"type": "string"
}
},
"required": [
"id"
]
}
},
"required": [
"object",
"type",
"isVoid",
"fragments",
"data"
]
},
"DocumentBlockContentRef": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"content-ref"
]
},
"key": {
"type": "string"
},
"data": {
"type": "object",
"properties": {
"ref": {
"$ref": "#/components/schemas/ContentRef"
}
},
"required": [
"ref"
]
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
}
},
"required": [
"object",
"type",
"data",
"isVoid"
]
},
"DocumentBlockTabsItem": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"tabs-item"
]
},
"key": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"oneOf": [
{
"$ref": "#/components/schemas/DocumentBlocksEssentials"
},
{
"$ref": "#/components/schemas/DocumentBlockContentRef"
},
{
"$ref": "#/components/schemas/DocumentBlockCode"
},
{
"$ref": "#/components/schemas/DocumentBlockEmbed"
},
{
"$ref": "#/components/schemas/DocumentBlockFile"
},
{
"$ref": "#/components/schemas/DocumentBlockImages"
},
{
"$ref": "#/components/schemas/DocumentBlockDrawing"
},
{
"$ref": "#/components/schemas/DocumentBlockHint"
},
{
"$ref": "#/components/schemas/DocumentBlockQuote"
},
{
"$ref": "#/components/schemas/DocumentBlockMath"
},
{
"$ref": "#/components/schemas/DocumentBlockIntegration"
}
]
}
},
"data": {
"type": "object",
"properties": {
"title": {
"type": "string"
}
}
},
"meta": {
"type": "object",
"properties": {
"id": {
"description": "Unique ID to be used in an URL for the block.",
"type": "string"
}
},
"required": [
"id"
]
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
}
},
"required": [
"object",
"type",
"nodes",
"data"
]
},
"DocumentBlockTabs": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"tabs"
]
},
"key": {
"type": "string"
},
"nodes": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DocumentBlockTabsItem"
}
},
"isVoid": {
"type": "boolean",
"enum": [
false
]
},
"data": {
"type": "object",
"properties": {
"fullWidth": {
"type": "boolean"
}
},
"additionalProperties": false
}
},
"required": [
"object",
"type",
"nodes"
]
},
"OpenAPIOperationPointer": {
"type": "object",
"description": "Pointer to an operation in the OpenAPI spec.",
"properties": {
"path": {
"type": "string",
"description": "Path of the operation in the OpenAPI spec."
},
"method": {
"type": "string",
"description": "HTTP method of the operation in the OpenAPI spec."
}
},
"required": [
"path",
"method"
]
},
"DocumentBlockOpenAPI": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"swagger"
]
},
"key": {
"type": "string"
},
"data": {
"allOf": [
{
"$ref": "#/components/schemas/OpenAPIOperationPointer"
},
{
"type": "object",
"properties": {
"ref": {
"oneOf": [
{
"$ref": "#/components/schemas/ContentRefFile"
},
{
"$ref": "#/components/schemas/ContentRefURL"
}
]
},
"expanded": {
"type": "boolean",
"description": "If true, the block is opened by default."
},
"fullWidth": {
"type": "boolean"
}
},
"required": [
"ref"
]
}
]
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
},
"meta": {
"type": "object",
"properties": {
"id": {
"description": "Unique ID to be used in an URL for the block.",
"type": "string"
}
},
"required": [
"id"
]
}
},
"required": [
"object",
"type",
"data",
"isVoid"
]
},
"DocumentBlockOpenAPIOperation": {
"type": "object",
"properties": {
"object": {
"type": "string",
"enum": [
"block"
]
},
"type": {
"type": "string",
"enum": [
"openapi-operation"
]
},
"key": {
"type": "string"
},
"data": {
"allOf": [
{
"$ref": "#/components/schemas/OpenAPIOperationPointer"
},
{
"type": "object",
"properties": {
"ref": {
"$ref": "#/components/schemas/ContentRefOpenAPI"
}
},
"required": [
"ref"
]
}
]
},
"isVoid": {
"type": "boolean",
"enum": [
true
]
},
"meta": {
"type": "object",
"properties": {
"id": {
"description": "Unique ID to be used in an URL for the block.",
"type": "string"
}
},
"required": [
"id"
]
}
},
"required": [
"object",
"type",
"data",
"isVoid"
]
},
"OpenAPISchemasPointer": {
"type": "object",
"description": "Pointer to schemas in the OpenAPI spec.",
"properties": {
"grouped": {
"type": "boolean",
"description": "Whether the schemas are grouped or not.",
"default": true
},
"schemas": {
"type": "array",
"description": "List of schemas name from the OpenAPI spec.",
"items": {
"type": "string"
}
},
"title": {
"type": "string",
"description": "Custom title for the schemas block. When not provided, defaults to \"The