diff --git a/docs/.gitbook/assets/API (1) (1) (1) (1) (1).png b/docs/.gitbook/assets/API (1) (1) (1) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (1) (1) (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (1) (1) (1) (1).png b/docs/.gitbook/assets/API (1) (1) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (1) (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (1) (1) (1).png b/docs/.gitbook/assets/API (1) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (1) (1).png b/docs/.gitbook/assets/API (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (1).png b/docs/.gitbook/assets/API (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (2) (1) (1) (1) (1).png b/docs/.gitbook/assets/API (2) (1) (1) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (2) (1) (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (2) (1) (1) (1).png b/docs/.gitbook/assets/API (2) (1) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (2) (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (2) (1) (1).png b/docs/.gitbook/assets/API (2) (1) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (2) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (2) (1).png b/docs/.gitbook/assets/API (2) (1).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (2) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/API (2).png b/docs/.gitbook/assets/API (2).png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/API.png b/docs/.gitbook/assets/API.png deleted file mode 100644 index af17674b2..000000000 Binary files a/docs/.gitbook/assets/API.png and /dev/null differ diff --git a/docs/.gitbook/assets/Background - dark 3 (1).png b/docs/.gitbook/assets/Background - dark 3 (1).png deleted file mode 100644 index 7015da9a6..000000000 Binary files a/docs/.gitbook/assets/Background - dark 3 (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Background - dark 3 (2).png b/docs/.gitbook/assets/Background - dark 3 (2).png deleted file mode 100644 index 057f756ee..000000000 Binary files a/docs/.gitbook/assets/Background - dark 3 (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/Background - dark 3 (3).png b/docs/.gitbook/assets/Background - dark 3 (3).png deleted file mode 100644 index 02cbd51ef..000000000 Binary files a/docs/.gitbook/assets/Background - dark 3 (3).png and /dev/null differ diff --git a/docs/.gitbook/assets/Background - dark 3.png b/docs/.gitbook/assets/Background - dark 3.png deleted file mode 100644 index 15969d5c2..000000000 Binary files a/docs/.gitbook/assets/Background - dark 3.png and /dev/null differ diff --git a/docs/.gitbook/assets/Change Request.png b/docs/.gitbook/assets/Change Request.png deleted file mode 100644 index aca7eec17..000000000 Binary files a/docs/.gitbook/assets/Change Request.png and /dev/null differ diff --git a/docs/.gitbook/assets/Collection.png b/docs/.gitbook/assets/Collection.png deleted file mode 100644 index d09bd26e1..000000000 Binary files a/docs/.gitbook/assets/Collection.png and /dev/null differ diff --git a/docs/.gitbook/assets/Community.png b/docs/.gitbook/assets/Community.png deleted file mode 100644 index 1a9a65f9e..000000000 Binary files a/docs/.gitbook/assets/Community.png and /dev/null differ diff --git a/docs/.gitbook/assets/Enabling GitHub Sync (1).png b/docs/.gitbook/assets/Enabling GitHub Sync (1).png deleted file mode 100644 index a183915d9..000000000 Binary files a/docs/.gitbook/assets/Enabling GitHub Sync (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Enabling GitHub Sync.png b/docs/.gitbook/assets/Enabling GitHub Sync.png deleted file mode 100644 index 666233c18..000000000 Binary files a/docs/.gitbook/assets/Enabling GitHub Sync.png and /dev/null differ diff --git a/docs/.gitbook/assets/GitBook AI - Lens horizontal (1).png b/docs/.gitbook/assets/GitBook AI - Lens horizontal (1).png deleted file mode 100644 index cc47b94c8..000000000 Binary files a/docs/.gitbook/assets/GitBook AI - Lens horizontal (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/GitBook AI - Lens horizontal.png b/docs/.gitbook/assets/GitBook AI - Lens horizontal.png deleted file mode 100644 index cee37878b..000000000 Binary files a/docs/.gitbook/assets/GitBook AI - Lens horizontal.png and /dev/null differ diff --git a/docs/.gitbook/assets/Group 1 (1).png b/docs/.gitbook/assets/Group 1 (1).png deleted file mode 100644 index 8d3493b40..000000000 Binary files a/docs/.gitbook/assets/Group 1 (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Group 1 (2).png b/docs/.gitbook/assets/Group 1 (2).png deleted file mode 100644 index 6e31ea7a9..000000000 Binary files a/docs/.gitbook/assets/Group 1 (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/Group 1.png b/docs/.gitbook/assets/Group 1.png deleted file mode 100644 index 20e86a411..000000000 Binary files a/docs/.gitbook/assets/Group 1.png and /dev/null differ diff --git a/docs/.gitbook/assets/Insights.png b/docs/.gitbook/assets/Insights.png deleted file mode 100644 index 3d2031223..000000000 Binary files a/docs/.gitbook/assets/Insights.png and /dev/null differ diff --git a/docs/.gitbook/assets/Integrations.png b/docs/.gitbook/assets/Integrations.png deleted file mode 100644 index 39b1e454b..000000000 Binary files a/docs/.gitbook/assets/Integrations.png and /dev/null differ diff --git a/docs/.gitbook/assets/Members.png b/docs/.gitbook/assets/Members.png deleted file mode 100644 index 5f08edf8a..000000000 Binary files a/docs/.gitbook/assets/Members.png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (1) (1) (1).png b/docs/.gitbook/assets/Name (1) (1) (1).png deleted file mode 100644 index 3878a46c9..000000000 Binary files a/docs/.gitbook/assets/Name (1) (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (1) (1).png b/docs/.gitbook/assets/Name (1) (1).png deleted file mode 100644 index f13976c20..000000000 Binary files a/docs/.gitbook/assets/Name (1) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (1) (2).png b/docs/.gitbook/assets/Name (1) (2).png deleted file mode 100644 index 3878a46c9..000000000 Binary files a/docs/.gitbook/assets/Name (1) (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (1).png b/docs/.gitbook/assets/Name (1).png deleted file mode 100644 index 3683ac134..000000000 Binary files a/docs/.gitbook/assets/Name (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (2) (1).png b/docs/.gitbook/assets/Name (2) (1).png deleted file mode 100644 index 98b1ea837..000000000 Binary files a/docs/.gitbook/assets/Name (2) (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name (2).png b/docs/.gitbook/assets/Name (2).png deleted file mode 100644 index eadce5172..000000000 Binary files a/docs/.gitbook/assets/Name (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/Name.png b/docs/.gitbook/assets/Name.png deleted file mode 100644 index ccd2c57ba..000000000 Binary files a/docs/.gitbook/assets/Name.png and /dev/null differ diff --git a/docs/.gitbook/assets/Organization.png b/docs/.gitbook/assets/Organization.png deleted file mode 100644 index a399e0b48..000000000 Binary files a/docs/.gitbook/assets/Organization.png and /dev/null differ diff --git a/docs/.gitbook/assets/Rectangle 1 (1).png b/docs/.gitbook/assets/Rectangle 1 (1).png deleted file mode 100644 index c656fd1f4..000000000 Binary files a/docs/.gitbook/assets/Rectangle 1 (1).png and /dev/null differ diff --git a/docs/.gitbook/assets/Rectangle 1 (2).png b/docs/.gitbook/assets/Rectangle 1 (2).png deleted file mode 100644 index aa44fb27a..000000000 Binary files a/docs/.gitbook/assets/Rectangle 1 (2).png and /dev/null differ diff --git a/docs/.gitbook/assets/Rectangle 1.png b/docs/.gitbook/assets/Rectangle 1.png deleted file mode 100644 index ed7c3ca56..000000000 Binary files a/docs/.gitbook/assets/Rectangle 1.png and /dev/null differ diff --git a/docs/.gitbook/assets/Space.png b/docs/.gitbook/assets/Space.png deleted file mode 100644 index cb51046d4..000000000 Binary files a/docs/.gitbook/assets/Space.png and /dev/null differ diff --git a/docs/.gitbook/assets/Teams.png b/docs/.gitbook/assets/Teams.png deleted file mode 100644 index 24915c77e..000000000 Binary files a/docs/.gitbook/assets/Teams.png and /dev/null differ diff --git a/docs/.gitbook/assets/User.png b/docs/.gitbook/assets/User.png deleted file mode 100644 index aea2c18d1..000000000 Binary files a/docs/.gitbook/assets/User.png and /dev/null differ diff --git a/docs/.gitbook/assets/Vistor Authentication.png b/docs/.gitbook/assets/Vistor Authentication.png deleted file mode 100644 index efc87fd08..000000000 Binary files a/docs/.gitbook/assets/Vistor Authentication.png and /dev/null differ diff --git a/docs/.gitbook/assets/collection-id.png b/docs/.gitbook/assets/collection-id.png deleted file mode 100644 index 10b3798fc..000000000 Binary files a/docs/.gitbook/assets/collection-id.png and /dev/null differ diff --git a/docs/.gitbook/assets/github.jpeg b/docs/.gitbook/assets/github.jpeg deleted file mode 100644 index 87e9bd14c..000000000 Binary files a/docs/.gitbook/assets/github.jpeg and /dev/null differ diff --git a/docs/.gitbook/assets/openapi.json b/docs/.gitbook/assets/openapi.json deleted file mode 100644 index ac536cc92..000000000 --- a/docs/.gitbook/assets/openapi.json +++ /dev/null @@ -1,7092 +0,0 @@ -{ - "openapi": "3.0.3", - "info": { - "title": "GitBook API", - "description": "The GitBook API", - "termsOfService": "https://policies.gitbook.com", - "contact": { - "name": "API Support", - "url": "https://gitbook.com/support", - "email": "support@gitbook.com" - }, - "version": "0.0.1-beta" - }, - "servers": [ - { - "url": "{host}/v1", - "variables": { - "host": { - "default": "https://api.gitbook.com" - } - } - } - ], - "security": [ - { - "user": [] - }, - { - "user-internal": [] - }, - { - "user-staff": [] - }, - { - "integration": [] - } - ], - "components": { - "securitySchemes": { - "user": { - "type": "http", - "scheme": "bearer" - }, - "user-internal": { - "type": "http", - "scheme": "bearer" - }, - "user-staff": { - "type": "http", - "scheme": "bearer" - }, - "integration": { - "type": "http", - "scheme": "bearer" - } - }, - "parameters": { - "listLimit": { - "name": "limit", - "in": "query", - "description": "The number of results per page", - "schema": { - "type": "number" - } - }, - "listPage": { - "name": "page", - "in": "query", - "description": "Identifier of the page results to fetch.", - "schema": { - "type": "string" - } - }, - "pageFormat": { - "name": "format", - "in": "query", - "description": "Output format for the page's content.", - "schema": { - "type": "string", - "enum": ["document", "markdown"] - } - }, - "spaceId": { - "name": "spaceId", - "in": "path", - "required": true, - "description": "The unique id of the space", - "schema": { - "type": "string" - } - }, - "collectionId": { - "name": "collectionId", - "in": "path", - "required": true, - "description": "The unique id of the collection", - "schema": { - "type": "string" - } - }, - "revisionId": { - "name": "revisionId", - "in": "path", - "required": true, - "description": "The unique id of the revision", - "schema": { - "type": "string" - } - }, - "changeRequestId": { - "name": "changeRequestId", - "in": "path", - "required": true, - "description": "The unique id of the change request", - "schema": { - "type": "string" - } - }, - "integrationName": { - "name": "integrationName", - "in": "path", - "required": true, - "description": "Name of the integration", - "schema": { - "type": "string" - } - }, - "installationId": { - "name": "installationId", - "in": "path", - "required": true, - "description": "Identifier of the installation", - "schema": { - "type": "string" - } - }, - "organizationId": { - "name": "organizationId", - "in": "path", - "required": true, - "description": "The unique id of the organization", - "schema": { - "type": "string" - } - }, - "userId": { - "name": "userId", - "in": "path", - "required": true, - "description": "The unique ID of the User", - "schema": { - "type": "string" - } - }, - "teamId": { - "name": "teamId", - "in": "path", - "required": true, - "description": "The unique ID of the Team", - "schema": { - "type": "string" - } - }, - "pageId": { - "name": "pageId", - "in": "path", - "required": true, - "description": "The unique id of the page", - "schema": { - "type": "string" - } - }, - "pagePath": { - "name": "pagePath", - "in": "path", - "required": true, - "description": "The path of the page in the revision.", - "schema": { - "type": "string" - } - }, - "backofficeHostname": { - "name": "hostname", - "in": "path", - "required": true, - "description": "The custom hostname", - "schema": { - "type": "string" - } - } - }, - "schemas": { - "Error": { - "type": "object", - "required": ["error"], - "properties": { - "error": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32" - }, - "message": { - "type": "string" - } - }, - "required": ["code", "message"] - } - } - }, - "List": { - "type": "object", - "properties": { - "next": { - "type": "object", - "properties": { - "page": { - "type": "string", - "description": "Unique identifier to query the next results page" - } - }, - "required": ["page"] - } - } - }, - "URL": { - "type": "string", - "format": "uri" - }, - "Date": { - "type": "string", - "format": "date" - }, - "RequestSpaceTrackPageView": { - "type": "object", - "properties": { - "pageId": { - "type": "string", - "description": "Unique identifier of the page." - }, - "visitor": { - "type": "object", - "description": "Analytics info on the GitBook's content visitor.", - "properties": { - "anonymousId": { - "type": "string", - "description": "GitBook's unique identifier of the visitor." - }, - "cookies": { - "type": "object", - "description": "The visitors cookies.", - "additionalProperties": { - "type": "string" - } - }, - "userAgent": { - "type": "string", - "description": "User-agent of the visitor." - } - }, - "required": ["anonymousId", "cookies", "userAgent"] - }, - "url": { - "type": "string", - "description": "The GitBook content's URL visited (including URL params)." - }, - "referrer": { - "type": "string", - "description": "The URL of referrer that linked to the page." - } - }, - "required": ["pageId", "visitor", "url", "referrer"] - }, - "RequestPublishIntegration": { - "type": "object", - "properties": { - "icon": { - "type": "string", - "format": "byte", - "description": "Base64 content of the icon" - }, - "title": { - "$ref": "#/components/schemas/Integration/properties/title" - }, - "description": { - "$ref": "#/components/schemas/Integration/properties/description" - }, - "summary": { - "$ref": "#/components/schemas/Integration/properties/summary" - }, - "previewImages": { - "type": "array", - "maxItems": 3, - "items": { - "type": "string", - "format": "byte", - "description": "Base64 content of the image" - } - }, - "visibility": { - "$ref": "#/components/schemas/IntegrationVisibility" - }, - "scopes": { - "$ref": "#/components/schemas/Integration/properties/scopes" - }, - "categories": { - "$ref": "#/components/schemas/Integration/properties/categories" - }, - "blocks": { - "$ref": "#/components/schemas/Integration/properties/blocks" - }, - "externalLinks": { - "$ref": "#/components/schemas/Integration/properties/externalLinks" - }, - "configurations": { - "$ref": "#/components/schemas/IntegrationConfigurations" - }, - "script": { - "type": "string", - "description": "Content of the script to use" - }, - "organization": { - "type": "string", - "description": "The subdomain of the organization under which the integration should be published" - }, - "secrets": { - "$ref": "#/components/schemas/IntegrationSecrets" - }, - "contentSecurityPolicy": { - "$ref": "#/components/schemas/IntegrationContentSecurityPolicy" - } - }, - "required": ["title", "description", "script", "scopes"] - }, - "RequestUpdateIntegrationInstallation": { - "type": "object", - "properties": { - "externalIds": { - "$ref": "#/components/schemas/IntegrationInstallation/properties/externalIds" - }, - "configuration": { - "$ref": "#/components/schemas/IntegrationInstallation/properties/configuration" - } - } - }, - "RequestUpgradeOrganizationBilling": { - "type": "object", - "properties": { - "product": { - "$ref": "#/components/schemas/BillingProduct" - }, - "interval": { - "$ref": "#/components/schemas/BillingInterval" - }, - "reason": { - "type": "string", - "description": "Reason that triggered the billing upgrade" - }, - "mode": { - "type": "string", - "description": "Mode to use for the upgrade (default value is `commit`): - `auto`: user is redirect to checkout if possible, other a preview of the auto-upgrade is returned. - `commit`: a checkout session is returned or an auto-upgrade is done - `preview`: a preview invoice is always returned\n", - "enum": ["auto", "commit", "preview"] - } - }, - "required": ["product", "interval"] - }, - "RequestInviteUsersToOrganization": { - "type": "object", - "properties": { - "emails": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string", - "description": "The email address of the user to invite as a member" - }, - { - "type": "object", - "properties": { - "email": { - "type": "string", - "description": "The email address of the user to invite as a member" - }, - "role": { - "$ref": "#/components/schemas/MemberRoleOrGuest" - } - }, - "required": ["email", "role"] - } - ] - } - }, - "role": { - "description": "Default role to set on newly invited members.", - "$ref": "#/components/schemas/MemberRoleOrGuest" - } - }, - "required": ["emails"] - }, - "RequestImportGitRepository": { - "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." - }, - "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." - }, - "force": { - "type": "boolean" - }, - "standalone": { - "type": "boolean", - "description": "If true, the import will generate a revision without updating the space primary content." - } - }, - "required": ["url", "ref"] - }, - "RequestExportToGitRepository": { - "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\"" - }, - "repoCacheID": { - "type": "string", - "description": "Unique identifier to use to cache the Git repository across multiple operations." - }, - "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." - }, - "force": { - "type": "boolean" - } - }, - "required": ["url", "ref"] - }, - "RequestImportContent": { - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "URL of the content to import." - }, - "source": { - "$ref": "#/components/schemas/ImportContentSource" - } - }, - "required": ["url", "source"] - }, - "RequestCreateChangeRequest": { - "type": "object", - "properties": { - "subject": { - "type": "string", - "description": "Subject of the change-request" - } - } - }, - "RequestRenderIntegrationUI": { - "type": "object", - "properties": { - "componentId": { - "type": "string", - "description": "ID of the component to render in the integration." - }, - "spaceId": { - "type": "string", - "description": "ID of the space to render." - }, - "props": { - "type": "object", - "description": "Current properties of the UI." - }, - "state": { - "type": "object", - "description": "Current local state of the UI." - }, - "context": { - "$ref": "#/components/schemas/ContentKitContext" - }, - "action": { - "$ref": "#/components/schemas/ContentKitAction" - } - }, - "required": ["componentId", "spaceId", "props", "context"] - }, - "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"] - }, - "RequestPurgeCDNCacheContext": { - "type": "object", - "description": "The context to send when purging the CDN Cache", - "properties": { - "type": { - "$ref": "#/components/schemas/PurgeCDNCacheContextType" - }, - "values": { - "type": "array", - "description": "The list of tags or hosts to purge", - "items": { - "type": "string" - } - } - }, - "required": ["type", "values"] - }, - "RequestBlockUserContext": { - "type": "object", - "description": "The context to send when blocking/unblocking a user", - "properties": { - "block": { - "type": "boolean" - } - }, - "required": ["block"] - }, - "TriggerContentIndexingContext": { - "type": "object", - "description": "The context to send when triggering a content indexing.", - "properties": { - "spaceId": { - "type": "string", - "description": "The unique identifier of the Space to index." - }, - "force": { - "type": "boolean", - "description": "Whether to force a complete re-indexing of the Space." - } - }, - "required": ["spaceId", "force"] - }, - "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" - } - }, - "required": ["object", "id", "displayName"] - }, - "UserTarget": { - "type": "object", - "properties": { - "user": { - "type": "string" - } - } - }, - "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" - ] - }, - "ImportContentResult": { - "type": "object", - "required": ["revision", "importedResources", "totalResources"], - "properties": { - "revision": { - "type": "string", - "description": "ID of the newly created revision." - }, - "importedResources": { - "type": "number", - "description": "How many resources were imported" - }, - "totalResources": { - "type": "number", - "description": "How many resources were processed" - } - } - }, - "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": { - "type": "string", - "description": "Title of the space", - "minLength": 0, - "maxLength": 100 - }, - "visibility": { - "$ref": "#/components/schemas/ContentVisibility" - }, - "createdAt": { - "$ref": "#/components/schemas/Date" - }, - "updatedAt": { - "$ref": "#/components/schemas/Date" - }, - "urls": { - "type": "object", - "description": "URLs associated with the object", - "properties": { - "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" - } - }, - "required": ["app"] - } - }, - "required": [ - "object", - "id", - "title", - "visibility", - "createdAt", - "updatedAt", - "urls" - ] - }, - "Revision": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of Object, always equals to \"revision\"", - "enum": ["revision"] - }, - "id": { - "description": "Unique identifier for the revision", - "type": "string" - }, - "parents": { - "description": "IDs of the parent revisions", - "type": "array", - "items": { - "type": "string" - } - }, - "pages": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RevisionPage" - } - }, - "files": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RevisionFile" - } - }, - "git": { - "type": "object", - "description": "Metadata about a potential associated git commit.", - "required": ["oid", "message", "createdByGitBook"], - "properties": { - "oid": { - "type": "string", - "description": "SHA of the Git commit." - }, - "message": { - "type": "string", - "description": "Git commit message." - }, - "createdByGitBook": { - "type": "boolean", - "description": "Whether not this commit was created by GitBook, while exporting the revision." - }, - "url": { - "type": "string", - "description": "URL of the Git commit." - } - } - }, - "urls": { - "type": "object", - "properties": { - "app": { - "type": "string", - "format": "uri", - "description": "URL in the application for the revision" - }, - "published": { - "type": "string", - "description": "URL of the published version of the revision. Only defined when the space visibility is not \"private.\"", - "format": "uri" - }, - "public": { - "type": "string", - "description": "URL of the public version of the revision. Only defined when the space visibility is \"public\".", - "format": "uri" - } - }, - "required": ["app"] - } - }, - "required": ["object", "id", "parents", "pages", "files", "urls"] - }, - "RevisionPage": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageGroup" - }, - { - "$ref": "#/components/schemas/RevisionPageLink" - } - ], - "discriminator": { - "propertyName": "type" - } - }, - "RevisionPageBase": { - "type": "object", - "properties": { - "id": { - "description": "Unique identifier for the page in the revision", - "type": "string" - }, - "title": { - "description": "Title of the page", - "type": "string", - "maxLength": 100 - } - }, - "required": ["id", "title"] - }, - "RevisionPageSheet": { - "allOf": [ - { - "$ref": "#/components/schemas/RevisionPageBase" - }, - { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": ["sheet"] - }, - "slug": { - "description": "Page's slug in its direct parent", - "type": "string" - }, - "path": { - "description": "Complete path to access the page in the revision.", - "type": "string" - }, - "description": { - "type": "string" - }, - "pages": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageLink" - } - ] - } - } - }, - "required": ["kind", "slug", "path", "pages"] - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "markdown": { - "type": "string", - "description": "Content of the page formatted as markdown" - } - }, - "required": ["markdown"] - }, - { - "type": "object", - "properties": { - "document": { - "$ref": "#/components/schemas/PageDocument" - } - }, - "required": ["document"] - }, - { - "type": "object", - "properties": {}, - "additionalProperties": false - } - ] - } - ] - }, - "RevisionPageGroup": { - "allOf": [ - { - "$ref": "#/components/schemas/RevisionPageBase" - }, - { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": ["group"] - }, - "slug": { - "description": "Page's slug in its direct parent", - "type": "string" - }, - "path": { - "description": "Complete path to access the page in the revision.", - "type": "string" - }, - "pages": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageLink" - } - ] - } - } - }, - "required": ["kind", "slug", "path", "pages"] - } - ] - }, - "RevisionPageLink": { - "allOf": [ - { - "$ref": "#/components/schemas/RevisionPageBase" - }, - { - "type": "object", - "properties": { - "kind": { - "type": "string", - "enum": ["link"] - }, - "href": { - "type": "string" - } - }, - "required": ["kind"] - } - ] - }, - "RevisionFile": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "contentType": { - "type": "string" - }, - "downloadURL": { - "type": "string" - } - }, - "required": ["id", "name", "contentType", "downloadURL"] - }, - "PageDocument": { - "type": "object", - "properties": { - "nodes": { - "type": "array", - "items": { - "type": "object", - "properties": {} - } - } - }, - "required": ["nodes"] - }, - "ImportContentSource": { - "type": "string", - "enum": [ - "website", - "docx", - "markdown", - "html", - "zip", - "confluence", - "github-wiki", - "dropbox-paper", - "notion", - "quip", - "google-docs", - "open-api" - ] - }, - "Organization": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of Object, always equals to \"organization\"", - "enum": ["organization"] - }, - "id": { - "type": "string", - "description": "Unique identifier for the organization" - }, - "title": { - "type": "string", - "description": "Name of the organization", - "minLength": 2, - "maxLength": 300 - } - }, - "required": ["object", "id", "title"] - }, - "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": "string", - "nullable": true, - "enum": [null] - } - ] - }, - "OrganizationTransferResponse": { - "type": "object", - "required": ["collection"], - "properties": { - "collection": { - "type": "string", - "description": "The unique id of the collection created in the target organization containing the content of the source organization." - }, - "newSourceHostname": { - "type": "string", - "description": "The new hostname if the source organization needed to change hostname." - } - } - }, - "OrganizationDirectorySyncGroup": { - "type": "object", - "required": ["id", "idp_id", "directory_id", "name"], - "properties": { - "id": { - "type": "string", - "description": "The unique identifier of this group in WorkOS. Not the unique ID from GitBook." - }, - "idp_id": { - "type": "string", - "description": "The identity provider's unique ID for this group, should be used to generate the team's unique ID when syncing the groups." - }, - "directory_id": { - "type": "string", - "description": "The unique ID of the directory this group is owned by in WorkOS. Is not a unique ID from our database." - }, - "name": { - "type": "string", - "description": "The name of the group from the identity provider, it should always be set according to the WorkOS documentation." - }, - "teamKey": { - "type": "string", - "description": "The unique ID of the GitBook team already synced to this group, if applicable." - } - } - }, - "OrganizationDirectorySyncGroupTeamStatus": { - "anyOf": [ - { - "type": "object", - "required": ["success", "group_id", "team_id"], - "properties": { - "success": { - "type": "boolean", - "enum": [true] - }, - "group_id": { - "type": "string" - }, - "team_id": { - "type": "string" - } - } - }, - { - "type": "object", - "required": ["success", "error"], - "properties": { - "success": { - "type": "boolean", - "enum": [false] - }, - "error": { - "type": "string" - } - } - } - ] - }, - "OrganizationTarget": { - "type": "object", - "properties": { - "organization": { - "type": "string" - } - } - }, - "OrganizationMember": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of Object, always equals to \"member\"", - "enum": ["member"] - }, - "id": { - "type": "string", - "description": "Unique identifier for the user." - }, - "role": { - "$ref": "#/components/schemas/MemberRoleOrGuest" - }, - "user": { - "$ref": "#/components/schemas/User" - }, - "disabled": { - "type": "boolean", - "description": "Whatever the membership of this user is disabled and prevent them from accessing content." - }, - "joinedAt": { - "description": "Date at which the user joined the organization.", - "$ref": "#/components/schemas/Date" - } - }, - "required": ["object", "id", "role", "user", "disabled", "joinedAt"] - }, - "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": { - "type": "string", - "description": "Title of the team." - }, - "members": { - "type": "integer", - "description": "Count of members in this team." - }, - "createdAt": { - "description": "Date at which the team was created.", - "$ref": "#/components/schemas/Date" - } - }, - "required": ["object", "id", "title", "members", "createdAt"] - }, - "ChangeRequest": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of Object, always equals to \"change-request\"", - "enum": ["change-request"] - }, - "id": { - "type": "string", - "description": "Unique identifier for the change request" - }, - "number": { - "type": "number", - "description": "Incremental identifier of the change request" - }, - "status": { - "$ref": "#/components/schemas/ChangeRequestStatus" - }, - "subject": { - "type": "string", - "description": "Subject of the change request", - "minLength": 0, - "maxLength": 100 - }, - "createdBy": { - "$ref": "#/components/schemas/User" - }, - "createdAt": { - "$ref": "#/components/schemas/Date" - }, - "updatedAt": { - "$ref": "#/components/schemas/Date" - }, - "urls": { - "type": "object", - "description": "URLs associated with the object", - "properties": { - "app": { - "type": "string", - "description": "URL of the space in the application", - "format": "uri" - } - }, - "required": ["app"] - } - }, - "required": [ - "object", - "id", - "number", - "status", - "subject", - "createdBy", - "createdAt", - "updatedAt", - "urls" - ] - }, - "ChangeRequestStatus": { - "type": "string", - "enum": ["draft", "open", "archived", "merged"] - }, - "SearchSpaceResult": { - "type": "object", - "description": "Search result representing a space.", - "properties": { - "id": { - "type": "string" - }, - "title": { - "type": "string" - }, - "pages": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SearchPageResult" - } - } - }, - "required": ["id", "title", "pages"] - }, - "SearchPageResult": { - "type": "object", - "description": "Search result representing a page in a space.", - "properties": { - "id": { - "type": "string" - }, - "title": { - "type": "string" - }, - "path": { - "type": "string" - }, - "sections": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SearchSectionResult" - } - }, - "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", "urls"] - }, - "SearchSectionResult": { - "type": "object", - "description": "Search result representing a section in a page.", - "properties": { - "id": { - "type": "string" - }, - "title": { - "type": "string" - }, - "path": { - "type": "string" - }, - "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", "body", "urls"] - }, - "AnalyticsSearchPeriod": { - "type": "string", - "enum": ["last_month", "last_week", "last_year"] - }, - "AnalyticsSearchQuery": { - "type": "object", - "description": "Analytics entry for a search query.", - "required": ["query", "searches", "hits", "pageHits", "sectionHits"], - "properties": { - "query": { - "type": "string" - }, - "searches": { - "description": "Number of searches done by users.", - "type": "number" - }, - "hits": { - "description": "Number of objects matching this search.", - "type": "number" - }, - "pageHits": { - "description": "Number of pages matching this search.", - "type": "number" - }, - "sectionHits": { - "description": "Number of sections matching this search.", - "type": "number" - } - } - }, - "AnalyticsTopSearches": { - "type": "object", - "description": "Top search queries for a content.", - "required": ["searches", "queries"], - "properties": { - "searches": { - "description": "Number of searches done by users.", - "type": "number" - }, - "queries": { - "description": "Top queries searched for this content.", - "type": "array", - "items": { - "$ref": "#/components/schemas/AnalyticsSearchQuery" - } - } - } - }, - "AnalyticsTrafficInterval": { - "type": "string", - "enum": ["daily", "weekly", "monthly"] - }, - "AnalyticsTrafficPageViews": { - "type": "object", - "required": ["count", "views"], - "properties": { - "count": { - "description": "Total number of page views over the period.", - "type": "number" - }, - "views": { - "description": "Page views per interval (day, week, month).", - "type": "array", - "items": { - "type": "object", - "properties": { - "timestamp": { - "type": "string" - }, - "count": { - "type": "number" - } - }, - "required": ["timestamp", "count"] - } - } - } - }, - "AnalyticsContentPages": { - "type": "object", - "required": ["pages"], - "properties": { - "pages": { - "type": "array", - "items": { - "$ref": "#/components/schemas/AnalyticsContentPage" - } - } - } - }, - "AnalyticsContentPage": { - "type": "object", - "description": "Page entry in the content analytics.", - "required": ["page", "title", "pageViews"], - "properties": { - "page": { - "type": "string" - }, - "title": { - "type": "string" - }, - "pageViews": { - "type": "number" - }, - "feedbacks": { - "type": "object", - "required": ["score", "total", "rating", "bad", "ok", "good"], - "properties": { - "score": { - "type": "number", - "description": "Score between 0 and 4." - }, - "total": { - "type": "number" - }, - "rating": { - "type": "string", - "enum": ["unknown", "bad", "ok", "good"] - }, - "bad": { - "type": "number" - }, - "ok": { - "type": "number" - }, - "good": { - "type": "number" - } - } - } - } - }, - "Collection": { - "type": "object", - "properties": { - "object": { - "type": "string", - "description": "Type of Object, always equals to \"collection\"", - "enum": ["collection"] - }, - "id": { - "type": "string", - "description": "Unique identifier for the collection" - }, - "title": { - "type": "string", - "description": "Title of the collection", - "minLength": 0, - "maxLength": 100 - }, - "path": { - "type": "string", - "description": "Path in the published URL" - }, - "visibility": { - "$ref": "#/components/schemas/ContentVisibility" - }, - "publishingType": { - "type": "string", - "enum": ["variants"] - }, - "primarySpace": { - "type": "string", - "description": "ID of the primary space for this collection" - }, - "collection": { - "type": "string", - "description": "ID of the parent collection, if any" - } - }, - "required": ["object", "id", "title", "visibility"] - }, - "Integration": { - "type": "object", - "properties": { - "object": { - "type": "string", - "enum": ["integration"] - }, - "name": { - "type": "string", - "description": "Unique named identifier for the integration" - }, - "title": { - "type": "string", - "description": "Title of the integration", - "minLength": 2, - "maxLength": 30 - }, - "description": { - "type": "string", - "description": "Description of the integration", - "maxLength": 100 - }, - "summary": { - "type": "string", - "description": "Long form markdown summary of the integration", - "maxLength": 2048 - }, - "previewImages": { - "type": "array", - "description": "URLs of images to showcase the integration", - "maxItems": 3, - "items": { - "type": "string" - } - }, - "visibility": { - "$ref": "#/components/schemas/IntegrationVisibility" - }, - "scopes": { - "type": "array", - "description": "Permissions that should be granted to the integration", - "items": { - "$ref": "#/components/schemas/IntegrationScope" - } - }, - "categories": { - "type": "array", - "description": "Categories for which the integration is listed in the marketplace", - "items": { - "$ref": "#/components/schemas/IntegrationCategory" - } - }, - "blocks": { - "type": "array", - "description": "Custom blocks defined by this integration.", - "items": { - "$ref": "#/components/schemas/IntegrationBlock" - } - }, - "configurations": { - "$ref": "#/components/schemas/IntegrationConfigurations" - }, - "externalLinks": { - "type": "array", - "description": "External urls configured by the developer of the integration", - "maxItems": 5, - "items": { - "type": "object", - "properties": { - "url": { - "$ref": "#/components/schemas/URL" - }, - "label": { - "type": "string" - } - }, - "required": ["url", "label"] - } - }, - "urls": { - "type": "object", - "description": "URLs associated with the object", - "properties": { - "icon": { - "type": "string", - "description": "URL of the icon associated to the integration", - "format": "uri" - }, - "app": { - "type": "string", - "description": "URL of the integration in the application", - "format": "uri" - }, - "assets": { - "type": "string", - "description": "URL of the integration's assets.", - "format": "uri" - }, - "publicEndpoint": { - "type": "string", - "description": "Public HTTP endpoint for the integration", - "format": "uri" - } - }, - "required": ["app", "assets", "publicEndpoint"] - }, - "contentSecurityPolicy": { - "$ref": "#/components/schemas/IntegrationContentSecurityPolicy" - } - }, - "required": [ - "object", - "name", - "title", - "scopes", - "categories", - "visibility", - "previewImages", - "externalLinks", - "urls" - ] - }, - "IntegrationScope": { - "type": "string", - "enum": [ - "space:views:read", - "space:content:read", - "space:content:write", - "space:metadata:read", - "space:metadata:write", - "space:script:inject", - "space:script:cookies" - ] - }, - "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"] - }, - "IntegrationInstallationSpaceSelection": { - "type": "string", - "description": "Describe whether all spaces have been selected or there's a selection involved", - "enum": ["all", "selected"] - }, - "IntegrationCategory": { - "type": "string", - "enum": ["analytics", "collaboration", "marketing", "content", "other"] - }, - "IntegrationConfigurations": { - "type": "object", - "properties": { - "account": { - "$ref": "#/components/schemas/IntegrationConfiguration" - }, - "space": { - "$ref": "#/components/schemas/IntegrationConfiguration" - } - } - }, - "IntegrationConfiguration": { - "type": "object", - "description": "Schema for a configuration", - "properties": { - "properties": { - "type": "object", - "additionalProperties": { - "allOf": [ - { - "type": "object", - "properties": { - "title": { - "type": "string", - "maxLength": 30 - }, - "description": { - "type": "string", - "maxLength": 100 - } - } - }, - { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["string"] - }, - "default": { - "type": "string" - } - }, - "required": ["type"] - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["number"] - }, - "default": { - "type": "number" - } - }, - "required": ["type"] - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["boolean"] - }, - "default": { - "type": "boolean" - } - }, - "required": ["type"] - }, - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["button"] - }, - "callback_url": { - "type": "string" - }, - "button_text": { - "type": "string" - } - }, - "required": ["type", "callback_url", "button_text"] - } - ] - } - ] - } - }, - "required": { - "type": "array", - "uniqueItems": true, - "items": { - "type": "string" - } - } - }, - "required": ["properties"] - }, - "IntegrationVisibility": { - "type": "string", - "enum": ["public", "private"] - }, - "IntegrationInstallation": { - "type": "object", - "description": "Installation of an integration on an account", - "properties": { - "id": { - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "space_selection": { - "$ref": "#/components/schemas/IntegrationInstallationSpaceSelection" - }, - "configuration": { - "description": "Configuration of the integration at the account level", - "type": "object" - }, - "urls": { - "type": "object", - "description": "URLs associated with the object", - "properties": { - "app": { - "type": "string", - "description": "URL of the integration's installation in the application", - "format": "uri" - }, - "publicEndpoint": { - "type": "string", - "description": "Public HTTP endpoint for the integration's installation", - "format": "uri" - } - }, - "required": ["app", "publicEndpoint"] - }, - "externalIds": { - "description": "External IDs assigned by the integration.", - "type": "array", - "maxItems": 5, - "items": { - "type": "string" - } - }, - "target": { - "$ref": "#/components/schemas/IntegrationInstallationTarget", - "description": "Target of the integration installation" - } - }, - "required": [ - "id", - "status", - "space_selection", - "configuration", - "urls", - "externalIds", - "target" - ] - }, - "IntegrationSpaceInstallation": { - "type": "object", - "description": "Installation of an integration at a space level", - "properties": { - "space": { - "description": "ID of the space the integration is installed on.", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "configuration": { - "description": "Configuration of the integration for this space", - "type": "object" - }, - "externalIds": { - "$ref": "#/components/schemas/IntegrationInstallation/properties/externalIds" - }, - "urls": { - "type": "object", - "description": "URLs associated with the object", - "properties": { - "publicEndpoint": { - "type": "string", - "description": "Public HTTP endpoint for the integration's space installation", - "format": "uri" - } - }, - "required": ["publicEndpoint"] - } - }, - "required": ["space", "status", "configuration", "externalIds", "urls"] - }, - "IntegrationInstallationStatus": { - "type": "string", - "enum": ["active", "pending", "paused"] - }, - "IntegrationSecrets": { - "type": "object", - "description": "Secrets stored on the integration and passed at runtime.", - "properties": {}, - "maxProperties": 20, - "additionalProperties": { - "type": "string" - } - }, - "IntegrationEnvironment": { - "type": "object", - "description": "Runtime environment provided during the execution of integration's code.", - "properties": { - "apiEndpoint": { - "type": "string", - "description": "URL of the HTTP API" - }, - "authToken": { - "type": "string", - "description": "Authentication token to use with the HTTP API" - }, - "integration": { - "$ref": "#/components/schemas/Integration" - }, - "installation": { - "$ref": "#/components/schemas/IntegrationInstallation" - }, - "spaceInstallation": { - "$ref": "#/components/schemas/IntegrationSpaceInstallation" - }, - "secrets": { - "$ref": "#/components/schemas/IntegrationSecrets" - } - }, - "required": ["apiEndpoint", "integration", "secrets"] - }, - "IntegrationInstallationTarget": { - "oneOf": [ - { - "$ref": "#/components/schemas/UserTarget" - }, - { - "$ref": "#/components/schemas/OrganizationTarget" - } - ] - }, - "IntegrationContentSecurityPolicy": { - "description": "Security policy to validate the content of the integrations scripts and Contentkit. Will be sent as \nheaders when processing the script fetch event and the blocks fetch events.\n", - "oneOf": [ - { - "type": "string" - }, - { - "type": "object", - "properties": { - "base-uri": { - "type": "string" - }, - "block-all-mixed-content": { - "type": "string" - }, - "child-src": { - "type": "string" - }, - "connect-src": { - "type": "string" - }, - "default-src": { - "type": "string" - }, - "font-src": { - "type": "string" - }, - "form-action": { - "type": "string" - }, - "frame-ancestors": { - "type": "string" - }, - "frame-src": { - "type": "string" - }, - "img-src": { - "type": "string" - }, - "manifest-src": { - "type": "string" - }, - "media-src": { - "type": "string" - }, - "navigate-to": { - "type": "string" - }, - "object-src": { - "type": "string" - }, - "plugin-types": { - "type": "string" - }, - "prefetch-src": { - "type": "string" - }, - "referrer": { - "type": "string" - }, - "report-to": { - "type": "string" - }, - "report-uri": { - "type": "string" - }, - "require-sri-for": { - "type": "string" - }, - "require-trusted-types-for": { - "type": "string" - }, - "sandbox": { - "type": "string" - }, - "script-src": { - "type": "string" - }, - "script-src-attr": { - "type": "string" - }, - "script-src-elem": { - "type": "string" - }, - "style-src": { - "type": "string" - }, - "style-src-attr": { - "type": "string" - }, - "style-src-elem": { - "type": "string" - }, - "trusted-types": { - "type": "string" - }, - "upgrade-insecure-requests": { - "type": "string" - }, - "worker-src": { - "type": "string" - } - } - } - ] - }, - "Event": { - "description": "Any event that can be received from GitBook.", - "oneOf": [ - { - "$ref": "#/components/schemas/InstallationSetupEvent" - }, - { - "$ref": "#/components/schemas/SpaceInstallationSetupEvent" - }, - { - "$ref": "#/components/schemas/SpaceViewEvent" - }, - { - "$ref": "#/components/schemas/SpaceContentUpdatedEvent" - }, - { - "$ref": "#/components/schemas/SpaceGitSyncCompletedEvent" - }, - { - "$ref": "#/components/schemas/SpaceGitSyncStartedEvent" - }, - { - "$ref": "#/components/schemas/SpaceVisibilityUpdatedEvent" - }, - { - "$ref": "#/components/schemas/FetchEvent" - }, - { - "$ref": "#/components/schemas/FetchPublishedScriptEvent" - }, - { - "$ref": "#/components/schemas/UIRenderEvent" - } - ], - "discriminator": { - "propertyName": "type" - } - }, - "BaseEvent": { - "description": "Common properties for all events.", - "type": "object", - "properties": { - "eventId": { - "description": "Unique identifier for the event.", - "type": "string" - }, - "type": { - "description": "Type of the event.", - "type": "string" - } - }, - "required": ["eventId", "type"] - }, - "InstallationEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseEvent" - }, - { - "type": "object", - "description": "Common properties for all events related to an installation", - "properties": { - "installationId": { - "type": "string", - "description": "ID of the integration installation" - } - }, - "required": ["installationId"] - } - ] - }, - "SpaceEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/InstallationEvent" - }, - { - "type": "object", - "description": "Common properties for all events related to a specific space.", - "properties": { - "spaceId": { - "type": "string", - "description": "ID of the space" - } - }, - "required": ["spaceId"] - } - ] - }, - "InstallationSetupEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/InstallationEvent" - }, - { - "type": "object", - "description": "Event received when integration has been installed or updated.", - "properties": { - "type": { - "type": "string", - "enum": ["installation_setup"] - }, - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "previous": { - "type": "object", - "description": "The state of the installation at the account level before it was updated.", - "properties": { - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "configuration": { - "type": "object", - "description": "The previous configuration of the installation at the account level." - } - }, - "required": ["status"] - } - }, - "required": ["type", "status"] - } - ] - }, - "SpaceInstallationSetupEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event received when integration has been installed or updated on a space.", - "properties": { - "type": { - "type": "string", - "enum": ["space_installation_setup"] - }, - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "previous": { - "type": "object", - "description": "The state of the Space installation before it was updated.", - "properties": { - "status": { - "$ref": "#/components/schemas/IntegrationInstallationStatus" - }, - "configuration": { - "type": "object", - "description": "The previous configuration of the Space installation." - } - }, - "required": ["status"] - } - }, - "required": ["type", "status"] - } - ] - }, - "SpaceViewEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event received when a page has been visited.", - "properties": { - "type": { - "type": "string", - "enum": ["space_view"] - }, - "pageId": { - "type": "string", - "description": "Unique identifier of the visited page." - }, - "visitor": { - "type": "object", - "description": "Analytics info on the GitBook's content visitor.", - "properties": { - "anonymousId": { - "type": "string", - "description": "GitBook's unique identifier of the visitor." - }, - "cookies": { - "type": "object", - "description": "The visitors cookies.", - "additionalProperties": { - "type": "string" - } - }, - "userAgent": { - "type": "string", - "description": "User-agent of the visitor." - }, - "ip": { - "type": "string", - "description": "IP address of the visitor." - } - }, - "required": ["anonymousId", "cookies", "userAgent", "ip"] - }, - "url": { - "type": "string", - "description": "The GitBook content's URL visited (including URL params)." - }, - "referrer": { - "type": "string", - "description": "The URL of referrer that linked to the page." - } - }, - "required": ["type", "visitor", "url", "referrer"] - } - ] - }, - "SpaceContentUpdatedEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event when the primary content of a space has been updated.", - "properties": { - "type": { - "type": "string", - "enum": ["space_content_updated"] - }, - "revisionId": { - "type": "string", - "description": "Unique identifier of the new content revision" - } - }, - "required": ["type", "revisionId"] - } - ] - }, - "SpaceVisibilityUpdatedEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event when the visibility of the space has been changed.", - "properties": { - "type": { - "type": "string", - "enum": ["space_visibility_updated"] - }, - "previousVisibility": { - "$ref": "#/components/schemas/ContentVisibility" - }, - "visibility": { - "$ref": "#/components/schemas/ContentVisibility" - } - }, - "required": ["type", "previousVisibility", "visibility"] - } - ] - }, - "SpaceGitSyncCompletedEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event when a GitSync operation has been completed.", - "properties": { - "type": { - "type": "string", - "enum": ["space_gitsync_completed"] - }, - "state": { - "type": "string", - "enum": ["success", "failure"] - }, - "revisionId": { - "type": "string", - "description": "Unique identifier of the new content revision" - }, - "commitId": { - "type": "string", - "description": "Unique identifier for the commit (sha)" - } - }, - "required": ["type", "state", "revisionId", "commitId"] - } - ] - }, - "SpaceGitSyncStartedEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event when a GitSync operation has been started.", - "properties": { - "type": { - "type": "string", - "enum": ["space_gitsync_started"] - }, - "revisionId": { - "type": "string", - "description": "Unique identifier of the new content revision" - }, - "commitId": { - "type": "string", - "description": "Unique identifier for the commit (sha)" - } - }, - "required": ["type", "revisionId", "commitId"] - } - ] - }, - "FetchRequest": { - "type": "object", - "properties": { - "method": { - "type": "string", - "enum": ["post", "get", "put", "delete"] - }, - "url": { - "type": "string" - }, - "headers": { - "type": "object", - "additionalProperties": { - "type": "string" - } - } - }, - "required": ["method", "url", "headers"] - }, - "FetchEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/BaseEvent" - }, - { - "type": "object", - "description": "Event representing an incoming HTTP request.", - "properties": { - "spaceId": { - "type": "string", - "description": "The space ID, if requests are specific to a single space" - }, - "installationId": { - "type": "string", - "description": "The installation ID, if requests are specific to a single installation" - }, - "auth": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "The user's ID." - } - }, - "required": ["userId"] - }, - "type": { - "type": "string", - "enum": ["fetch"] - }, - "request": { - "$ref": "#/components/schemas/FetchRequest" - } - }, - "required": ["type", "request"] - } - ] - }, - "FetchPublishedScriptEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Common properties for all events related to fetching a published script from an installation", - "properties": { - "type": { - "type": "string", - "enum": ["fetch_published_script"] - } - }, - "required": ["type"] - } - ] - }, - "UIRenderEvent": { - "allOf": [ - { - "$ref": "#/components/schemas/SpaceEvent" - }, - { - "type": "object", - "description": "Event generated when rendering a UI", - "properties": { - "auth": { - "type": "object", - "properties": { - "userId": { - "type": "string", - "description": "The user's ID." - } - }, - "required": ["userId"] - }, - "type": { - "type": "string", - "enum": ["ui_render"] - }, - "componentId": { - "type": "string" - }, - "props": { - "description": "Properties to render the UI.", - "type": "object" - }, - "state": { - "description": "State of the UI.", - "type": "object" - }, - "context": { - "$ref": "#/components/schemas/ContentKitContext" - }, - "action": { - "type": "object" - } - }, - "required": ["type", "componentId", "props", "context"] - } - ] - }, - "BillingInterval": { - "type": "string", - "description": "Interval for a billing subscription", - "enum": ["monthly", "yearly"] - }, - "BillingPortal": { - "type": "object", - "properties": { - "url": { - "type": "string", - "description": "URL to the billing portal for an organization" - } - }, - "required": ["url"] - }, - "BillingProduct": { - "type": "string", - "description": "Name of the product", - "enum": [ - "free", - "plus", - "pro", - "team", - "business", - "legacy", - "startup", - "enterprise" - ] - }, - "BillingUpgrade": { - "oneOf": [ - { - "type": "object", - "properties": { - "result": { - "type": "string", - "enum": ["checkout"] - }, - "sessionId": { - "type": "string", - "description": "Stripe payment session ID" - } - }, - "required": ["result", "sessionId"] - }, - { - "type": "object", - "properties": { - "result": { - "type": "string", - "enum": ["preview"] - }, - "invoice": { - "$ref": "#/components/schemas/BillingInvoicePreview" - } - }, - "required": ["result", "invoice"] - }, - { - "type": "object", - "properties": { - "result": { - "type": "string", - "enum": ["upgraded"] - } - }, - "required": ["result"] - }, - { - "type": "object", - "properties": { - "result": { - "type": "string", - "enum": ["downgraded"] - } - }, - "required": ["result"] - } - ] - }, - "BillingInvoicePreview": { - "type": "object", - "properties": { - "amount": { - "description": "Amount of the invoice", - "type": "number" - }, - "amountDueToday": { - "description": "Amount that will be immediately charged.", - "type": "number" - }, - "customerBalance": { - "description": "Current balance, if any, being stored on the customer. If positive, the customer has credit to apply to their next invoice.", - "type": "number" - }, - "remainingCustomerBalance": { - "description": "Current balance after potential upgrade.", - "type": "number" - }, - "lines": { - "type": "array", - "description": "Details of the change happening on the subscription.", - "items": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "amount": { - "type": "number" - }, - "periodStart": { - "$ref": "#/components/schemas/Date" - }, - "periodEnd": { - "$ref": "#/components/schemas/Date" - } - }, - "required": ["amount", "description", "periodStart", "periodEnd"] - } - } - }, - "required": [ - "amount", - "amountDueToday", - "customerBalance", - "remainingCustomerBalance", - "lines" - ] - }, - "APIIntegrationScope": { - "type": "string", - "enum": [ - "integration:read", - "integration:update", - "integration:installation:read", - "integration:installation:update" - ] - }, - "APIScope": { - "anyOf": [ - { - "$ref": "#/components/schemas/IntegrationScope" - }, - { - "$ref": "#/components/schemas/APIIntegrationScope" - } - ] - }, - "CloudflareHostnameStatus": { - "type": "string", - "description": "The Cloudflare Hostname status", - "enum": ["pending", "active", "blocked", "moved", "deleted"] - }, - "CloudflareHostnameTLSCertificate": { - "type": "object", - "description": "The Cloudflare Hostname TLS certificate", - "properties": { - "issuer": { - "type": "string" - }, - "expiresOn": { - "type": "string" - }, - "issuedOn": { - "type": "string" - } - } - }, - "CloudflareHostnameTLSInfo": { - "type": "object", - "description": "The Cloudflare Hostname TLS information", - "properties": { - "status": { - "$ref": "#/components/schemas/CloudflareHostnameTLSStatus" - }, - "method": { - "$ref": "#/components/schemas/CloudflareHostnameTLSValidationMethod" - }, - "certificateAuthority": { - "type": "string" - }, - "certificates": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CloudflareHostnameTLSCertificate" - } - }, - "validationErrors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CloudflareHostnameTLSValidationError" - } - } - }, - "required": ["status", "method", "certificates", "validationErrors"] - }, - "CloudflareHostnameTLSStatus": { - "type": "string", - "description": "The Cloudflare Hostname TLS status", - "enum": [ - "initializing", - "pending_validation", - "pending_issuance", - "pending_deployment", - "active", - "pending_deletion", - "pending_cleanup", - "deleted" - ] - }, - "CloudflareHostnameTLSValidationError": { - "type": "object", - "description": "The Cloudflare Hostname TLS validation error", - "properties": { - "message": { - "type": "string" - } - }, - "required": ["message"] - }, - "CloudflareHostnameTLSValidationMethod": { - "type": "string", - "description": "The Cloudflare Hostname TLS validation method", - "enum": ["http", "txt", "email"] - }, - "CustomDomainInfo": { - "type": "object", - "description": "Cloudflare Custom Domain's information", - "properties": { - "hostname": { - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/CloudflareHostnameStatus" - }, - "createdAt": { - "type": "string" - }, - "ssl": { - "$ref": "#/components/schemas/CloudflareHostnameTLSInfo" - }, - "verificationErrors": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": ["hostname", "status", "createdAt", "verificationErrors"] - }, - "FirebaseUserInfo": { - "type": "object", - "description": "The User Firebase Auth Info.", - "properties": { - "uid": { - "type": "string" - }, - "displayName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "phoneNumber": { - "type": "string" - }, - "photoUrl": { - "type": "string" - }, - "providerId": { - "type": "string" - } - }, - "required": ["uid"] - }, - "PurgeCDNCacheContextType": { - "type": "string", - "description": "The type of purge, e.g by tags or hosts", - "enum": ["tags", "hosts"] - }, - "StaffUserInfo": { - "type": "object", - "description": "The GitBook Staff User info.", - "properties": { - "id": { - "type": "string" - }, - "searchKey": { - "type": "string" - } - }, - "required": ["id", "searchKey"] - }, - "UserBackOfficeInfo": { - "type": "object", - "description": "The GitBook User info shown in the BackOffice.", - "properties": { - "id": { - "type": "string" - }, - "riskEvaluation": { - "$ref": "#/components/schemas/UserRiskEvaluation" - }, - "authProviders": { - "type": "array", - "items": { - "$ref": "#/components/schemas/FirebaseUserInfo" - } - }, - "createdAt": { - "type": "string" - }, - "lastSignInAt": { - "type": "string" - }, - "disabled": { - "type": "boolean" - } - }, - "required": [ - "id", - "riskEvaluation", - "authProviders", - "createdAt", - "lastSignInAt", - "disabled" - ] - }, - "UserImpersonation": { - "type": "object", - "description": "The info returned when impersonating a GitBook User.", - "allOf": [ - { - "$ref": "#/components/schemas/UserBackOfficeInfo" - }, - { - "type": "object", - "properties": { - "impersonation": { - "$ref": "#/components/schemas/UserImpersonationInfo" - } - }, - "required": ["impersonation"] - } - ] - }, - "UserImpersonationInfo": { - "type": "object", - "description": "The GitBook User impersonation info.", - "properties": { - "authURL": { - "type": "string" - }, - "impersonatorId": { - "type": "string" - } - }, - "required": ["authURL", "impersonatorId"] - }, - "UserRiskEvaluation": { - "type": "object", - "description": "The GitBook User risk evaluation.", - "properties": { - "wasRisky": { - "description": "True if the user was originally considered as risky", - "type": "boolean" - }, - "isRisky": { - "description": "True if the user is currently considered as risky", - "type": "boolean" - }, - "isVerified": { - "description": "True if the user went through the verification process", - "type": "boolean" - }, - "riskScore": { - "description": "Risk score of the user", - "type": "number" - }, - "completedSteps": { - "description": "Number of verification steps completed by the user", - "type": "number" - }, - "expectedSteps": { - "description": "Total number of verification steps expected", - "type": "number" - }, - "googleLogin": { - "description": "User completed the Google Account verification step", - "type": "boolean" - }, - "githubLogin": { - "description": "User completed the GitHub Account verification step", - "type": "boolean" - }, - "emailVerified": { - "description": "User completed the Email verification step", - "type": "boolean" - }, - "activeDaysRemaining": { - "type": "number" - } - }, - "required": [ - "wasRisky", - "isRisky", - "isVerified", - "riskScore", - "completedSteps", - "expectedSteps", - "googleLogin", - "githubLogin", - "emailVerified", - "activeDaysRemaining" - ] - }, - "UnsplashImage": { - "type": "object", - "required": [ - "kind", - "id", - "description", - "downloadLocation", - "urls", - "author" - ], - "properties": { - "kind": { - "type": "string", - "enum": ["unsplash_image"] - }, - "id": { - "type": "string" - }, - "description": { - "type": "string" - }, - "downloadLocation": { - "type": "string" - }, - "urls": { - "type": "object", - "properties": { - "full": { - "type": "string" - }, - "small": { - "type": "string" - } - }, - "required": ["full", "small"] - }, - "author": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": ["name", "url"] - } - } - }, - "APITemporaryToken": { - "type": "object", - "properties": { - "token": { - "type": "string", - "description": "Temporary access token to authenticate with the API" - } - }, - "required": ["token"] - }, - "ContentKitContext": { - "oneOf": [ - { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["document"] - }, - "editable": { - "type": "boolean" - }, - "theme": { - "type": "string", - "enum": ["dark", "light"] - } - }, - "required": ["type", "editable", "theme"] - } - ] - }, - "ContentKitDynamicBinding": { - "type": "object", - "description": "Binding between a property and a state value.", - "properties": { - "$state": { - "type": "string", - "description": "Key in the state" - } - }, - "required": ["$state"] - }, - "ContentKitBlock": { - "type": "object", - "description": "Higher level element to represent a custom block.", - "properties": { - "type": { - "type": "string", - "enum": ["block"] - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - }, - "controls": { - "type": "array", - "items": { - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitBlockControl" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitBlockControl" - } - } - ] - } - } - }, - "required": ["type", "children"] - }, - "ContentKitBlockControl": { - "type": "object", - "description": "Control menu item displayed for the block.", - "properties": { - "icon": { - "$ref": "#/components/schemas/ContentKitIcon" - }, - "label": { - "type": "string" - }, - "onPress": { - "$ref": "#/components/schemas/ContentKitAction" - }, - "confirm": { - "$ref": "#/components/schemas/ContentKitConfirm" - } - }, - "required": ["label", "onPress"] - }, - "ContentKitButton": { - "type": "object", - "description": "Pressable button triggering an action.", - "properties": { - "type": { - "type": "string", - "enum": ["button"] - }, - "style": { - "type": "string", - "enum": ["primary", "secondary", "danger"] - }, - "onPress": { - "$ref": "#/components/schemas/ContentKitAction" - }, - "icon": { - "$ref": "#/components/schemas/ContentKitIcon" - }, - "label": { - "type": "string" - }, - "tooltip": { - "type": "string" - }, - "confirm": { - "$ref": "#/components/schemas/ContentKitConfirm" - }, - "disabled": { - "type": "boolean" - } - }, - "required": ["type", "onPress"] - }, - "ContentKitTextInput": { - "type": "object", - "description": "Text input to prompt the user.", - "properties": { - "type": { - "type": "string", - "enum": ["textinput"] - }, - "state": { - "description": "State binding. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "initialValue": { - "description": "Text value to initialize the input with.", - "type": "string" - }, - "placeholder": { - "description": "Text that appears in the form control when it has no value set", - "type": "string" - }, - "multiline": { - "type": "boolean" - } - }, - "required": ["type", "state"] - }, - "ContentKitText": { - "type": "object", - "description": "Low level text element.", - "properties": { - "type": { - "type": "string", - "enum": ["text"] - }, - "style": { - "type": "string", - "enum": ["bold", "italic", "code", "strikethrough"] - }, - "children": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/ContentKitText" - } - ] - } - } - }, - "required": ["type", "children"] - }, - "ContentKitBox": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["box"] - }, - "grow": { - "description": "specifies how much of the remaining space in the container should be assigned to the element", - "type": "number" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - } - } - }, - "ContentKitHStack": { - "type": "object", - "description": "Horizontal stack of boxes.", - "properties": { - "type": { - "type": "string", - "enum": ["hstack"] - }, - "align": { - "type": "string", - "default": "start", - "enum": ["start", "center", "end"] - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - } - }, - "required": ["type", "children"] - }, - "ContentKitVStack": { - "type": "object", - "description": "Vertical stack of boxes.", - "properties": { - "type": { - "type": "string", - "enum": ["vstack"] - }, - "align": { - "type": "string", - "default": "start", - "enum": ["start", "center", "end"] - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - } - }, - "required": ["type", "children"] - }, - "ContentKitDivider": { - "type": "object", - "description": "Divider between 2 boxes in a stack.", - "properties": { - "type": { - "type": "string", - "enum": ["divider"] - }, - "size": { - "type": "string", - "enum": ["small", "medium", "large"] - } - }, - "required": ["type"] - }, - "ContentKitAction": { - "anyOf": [ - { - "type": "object", - "description": "Custom action to re-render the block.", - "properties": { - "action": { - "type": "string" - } - }, - "additionalProperties": true, - "required": ["action"] - }, - { - "$ref": "#/components/schemas/ContentKitDefaultAction" - } - ] - }, - "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": { - "type": "object" - } - }, - "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": { - "type": "object" - } - }, - "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": { - "type": "object" - } - }, - "required": ["action", "props"] - } - ] - }, - "ContentKitIcon": { - "type": "string", - "enum": [ - "close", - "edit", - "github", - "maximize", - "email", - "settings", - "search", - "delete", - "star", - "warning", - "link", - "link-external" - ] - }, - "ContentKitModal": { - "type": "object", - "description": "Overlay modal.", - "properties": { - "type": { - "type": "string", - "enum": ["modal"] - }, - "title": { - "type": "string" - }, - "subtitle": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitInlineElement" - } - }, - "size": { - "type": "string", - "enum": ["medium", "xlarge", "fullscreen"] - }, - "returnValue": { - "description": "Data passed back to the parent view when the modal is closed. These data are accessible in the \"@ui.modal.close\"", - "type": "object" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - }, - "submit": { - "$ref": "#/components/schemas/ContentKitButton" - } - }, - "required": ["type", "children"] - }, - "ContentKitWebFrame": { - "type": "object", - "description": "Frame for a webpage", - "properties": { - "type": { - "type": "string", - "enum": ["webframe"] - }, - "aspectRatio": { - "type": "number", - "description": "Ratio between width and height. Used to size the webframe." - }, - "source": { - "type": "object", - "description": "Content to load in the frame.", - "properties": { - "url": { - "type": "string" - } - }, - "required": ["url"] - }, - "buttons": { - "type": "array", - "description": "Controls button shown as an overlay in a corner of the frame.", - "items": { - "$ref": "#/components/schemas/ContentKitButton" - } - }, - "data": { - "type": "object", - "description": "Data to communicated to the webframe's content. Each state update will cause the webframe to receive a message.", - "additionalProperties": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/ContentKitDynamicBinding" - } - ] - } - } - }, - "required": ["type", "source"] - }, - "ContentKitCodeBlock": { - "type": "object", - "description": "Code block with syntax highlighting", - "properties": { - "type": { - "type": "string", - "enum": ["codeblock"] - }, - "content": { - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitDynamicBinding" - }, - { - "type": "string", - "description": "Code content to display" - } - ] - }, - "syntax": { - "description": "Syntax to use for highlighting (ex: javascript, python)", - "type": "string" - }, - "lineNumbers": { - "oneOf": [ - { - "type": "boolean" - }, - { - "type": "number", - "description": "Line number to start at." - } - ] - }, - "buttons": { - "type": "array", - "description": "Controls button shown as an overlay in a corner of the code block.", - "items": { - "$ref": "#/components/schemas/ContentKitButton" - } - }, - "state": { - "description": "State binding when editable. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "onContentChange": { - "$ref": "#/components/schemas/ContentKitAction" - }, - "header": { - "type": "array", - "description": "Header displayed before the code lines", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - }, - "footer": { - "type": "array", - "description": "Footer displayed after the code lines", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - } - }, - "required": ["type", "content"] - }, - "ContentKitRenderOutput": { - "type": "object", - "description": "Output of the integration when rendering an UI.", - "properties": { - "element": { - "$ref": "#/components/schemas/ContentKitRootElement" - }, - "state": { - "type": "object" - }, - "props": { - "type": "object" - } - }, - "required": ["element", "state", "props"] - }, - "ContentKitMarkdown": { - "type": "object", - "description": "Block with rich text formatting of a markdown content.", - "properties": { - "type": { - "type": "string", - "enum": ["markdown"] - }, - "content": { - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitDynamicBinding" - }, - { - "type": "string", - "description": "Markdown content to display" - } - ] - } - }, - "required": ["type", "content"] - }, - "ContentKitCard": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["card"] - }, - "title": { - "type": "string" - }, - "hint": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitInlineElement" - } - } - ] - }, - "icon": { - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitIcon" - }, - { - "$ref": "#/components/schemas/ContentKitImage" - } - ] - }, - "onPress": { - "$ref": "#/components/schemas/ContentKitAction" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ContentKitDescendantElement" - } - }, - "buttons": { - "type": "array", - "description": "Buttons displayed in the top right corner of the card.", - "items": { - "$ref": "#/components/schemas/ContentKitButton" - } - } - }, - "required": ["type"] - }, - "ContentKitImage": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["image"] - }, - "source": { - "type": "object", - "properties": { - "url": { - "type": "string", - "format": "uri" - } - }, - "required": ["url"] - }, - "aspectRatio": { - "type": "number" - } - }, - "required": ["type", "source", "aspectRatio"] - }, - "ContentKitInput": { - "type": "object", - "description": "Field for an input.", - "properties": { - "type": { - "type": "string", - "enum": ["input"] - }, - "label": { - "type": "string", - "description": "Text label displayed next to the input." - }, - "hint": { - "oneOf": [ - { - "type": "string" - }, - { - "$ref": "#/components/schemas/ContentKitInlineElement" - } - ] - }, - "element": { - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitTextInput" - }, - { - "$ref": "#/components/schemas/ContentKitSelect" - }, - { - "$ref": "#/components/schemas/ContentKitSwitch" - }, - { - "$ref": "#/components/schemas/ContentKitRadio" - }, - { - "$ref": "#/components/schemas/ContentKitCheckbox" - }, - { - "$ref": "#/components/schemas/ContentKitButton" - } - ] - } - }, - "required": ["type", "label", "element"] - }, - "ContentKitSelectOption": { - "type": "object", - "description": "An individual option in a select element", - "properties": { - "id": { - "type": "string" - }, - "label": { - "type": "string" - } - }, - "required": ["id", "label"] - }, - "ContentKitSelect": { - "type": "object", - "description": "Creates a drop down menu with a list of options for a user to choose.", - "properties": { - "type": { - "type": "string", - "enum": ["select"] - }, - "state": { - "description": "State binding. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "initialValue": { - "description": "Value to initialize the select with.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "array", - "items": { - "type": "string" - } - } - ] - }, - "placeholder": { - "description": "Text that appears in the form control when it has no value set", - "type": "string" - }, - "multiple": { - "description": "Should the select accept the selection of multiple options. If true, the state will be an array.", - "type": "boolean" - }, - "options": { - "oneOf": [ - { - "type": "array", - "description": "Static list of options", - "items": { - "$ref": "#/components/schemas/ContentKitSelectOption" - } - }, - { - "type": "object", - "description": "External source of options. The URL should respond with an array of options.", - "properties": { - "url": { - "type": "string" - } - }, - "required": ["url"] - } - ] - } - }, - "required": ["type", "state", "options"] - }, - "ContentKitSwitch": { - "type": "object", - "description": "Renders a boolean input.", - "properties": { - "type": { - "type": "string", - "enum": ["switch"] - }, - "state": { - "description": "State binding. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "initialValue": { - "description": "Value to initialize the switch with.", - "type": "boolean" - }, - "confirm": { - "$ref": "#/components/schemas/ContentKitConfirm" - } - }, - "required": ["type", "state"] - }, - "ContentKitCheckbox": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["checkbox"] - }, - "state": { - "description": "State binding. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "value": { - "description": "Value to store in a state array when the checkbox is selected.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "confirm": { - "$ref": "#/components/schemas/ContentKitConfirm" - } - }, - "required": ["type", "state", "value"] - }, - "ContentKitRadio": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["radio"] - }, - "state": { - "description": "State binding. The value of the input will be stored as a property in the state named after this ID.", - "type": "string" - }, - "value": { - "description": "Value to store in th state when the checkbox is selected.", - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - } - ] - }, - "confirm": { - "$ref": "#/components/schemas/ContentKitConfirm" - } - }, - "required": ["type", "state", "value"] - }, - "ContentKitConfirm": { - "type": "object", - "description": "A confirm object that defines an optional confirmation dialog after the input is clicked.", - "properties": { - "title": { - "type": "string", - "description": "A text value that defines the dialog's title.", - "maxLength": 100 - }, - "text": { - "type": "string", - "description": "A text value that defines the explanatory text that appears in the confirm dialog.", - "maxLength": 300 - }, - "confirm": { - "type": "string", - "description": "A text value to define the text of the button that confirms the action.", - "maxLength": 30 - }, - "style": { - "type": "string", - "enum": ["primary", "danger"] - } - }, - "required": ["title", "text", "confirm"] - }, - "ContentKitRootElement": { - "description": "Element used as root", - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitBlock" - }, - { - "$ref": "#/components/schemas/ContentKitModal" - } - ], - "discriminator": { - "propertyName": "type" - } - }, - "ContentKitDescendantElement": { - "description": "Any element that can be used as children.", - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitButton" - }, - { - "$ref": "#/components/schemas/ContentKitTextInput" - }, - { - "$ref": "#/components/schemas/ContentKitHStack" - }, - { - "$ref": "#/components/schemas/ContentKitVStack" - }, - { - "$ref": "#/components/schemas/ContentKitBox" - }, - { - "$ref": "#/components/schemas/ContentKitDivider" - }, - { - "$ref": "#/components/schemas/ContentKitWebFrame" - }, - { - "$ref": "#/components/schemas/ContentKitCodeBlock" - }, - { - "$ref": "#/components/schemas/ContentKitMarkdown" - }, - { - "$ref": "#/components/schemas/ContentKitCard" - }, - { - "$ref": "#/components/schemas/ContentKitImage" - }, - { - "$ref": "#/components/schemas/ContentKitInput" - }, - { - "$ref": "#/components/schemas/ContentKitSelect" - }, - { - "$ref": "#/components/schemas/ContentKitSwitch" - }, - { - "$ref": "#/components/schemas/ContentKitCheckbox" - }, - { - "$ref": "#/components/schemas/ContentKitRadio" - }, - { - "$ref": "#/components/schemas/ContentKitText" - } - ], - "discriminator": { - "propertyName": "type" - } - }, - "ContentKitInlineElement": { - "description": "Any element that is inline.", - "oneOf": [ - { - "$ref": "#/components/schemas/ContentKitText" - }, - { - "$ref": "#/components/schemas/ContentKitImage" - } - ], - "discriminator": { - "propertyName": "type" - } - } - }, - "responses": { - "UnexpectedError": { - "description": "Unexpected Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "NotFoundError": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["error"], - "properties": { - "error": { - "type": "object", - "properties": { - "code": { - "type": "integer", - "format": "int32", - "enum": [404] - }, - "message": { - "type": "string" - } - }, - "required": ["code", "message"] - } - } - } - } - } - }, - "ContentFilesResponse": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/List" - }, - { - "type": "object", - "required": ["items"], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/RevisionFile" - } - } - } - } - ] - } - } - } - } - } - }, - "paths": { - "/": { - "get": { - "operationId": "getApiInformation", - "tags": ["api"], - "summary": "Get information about the state of the GitBook API", - "description": "Access the release version and build date of the GitBook codebase", - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApiInformation" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/search": { - "get": { - "operationId": "searchContent", - "summary": "Search content across spaces that is accessible by the currently authenticated target", - "tags": ["search"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "name": "query", - "in": "query", - "required": true, - "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/SearchSpaceResult" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/user": { - "get": { - "operationId": "getAuthenticatedUser", - "summary": "Get profile of authenticated user", - "tags": ["users"], - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/user/spaces": { - "get": { - "operationId": "listSpacesForAuthenticatedUser", - "summary": "List spaces for the authenticated user", - "description": "Lists spaces that the authenticated user explicitly own.\n", - "tags": ["users"], - "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", - "required": ["items"], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Space" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/users/{userId}": { - "get": { - "operationId": "getUserById", - "summary": "Get a user by its ID", - "tags": ["users"], - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}": { - "get": { - "operationId": "getSpaceById", - "summary": "Get the details about a space.", - "tags": ["spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Space" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/search": { - "get": { - "operationId": "searchSpaceContent", - "summary": "Search content in a space", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "name": "query", - "in": "query", - "required": true, - "schema": { - "type": "string" - } - }, - { - "$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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/git/import": { - "post": { - "operationId": "importGitRepository", - "summary": "Import a Git repository", - "tags": ["spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "204": { - "description": "Operation to import the repository has been started." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestImportGitRepository" - } - } - } - } - } - }, - "/spaces/{spaceId}/git/export": { - "post": { - "operationId": "exportToGitRepository", - "summary": "Export the space content to a Git repository.", - "tags": ["spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "204": { - "description": "Operation to export the space has been started." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestExportToGitRepository" - } - } - } - } - } - }, - "/spaces/{spaceId}/insights/content": { - "get": { - "operationId": "getContentAnalyticsForSpaceById", - "summary": "Get content analytics for a given space.", - "tags": ["analytics", "spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "200": { - "description": "Content analytics per page.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsContentPages" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/insights/search": { - "get": { - "operationId": "getSearchAnalyticsForSpaceById", - "summary": "Get an overview of the top search queries in a space.", - "tags": ["analytics", "spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "name": "period", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/AnalyticsSearchPeriod" - } - } - ], - "responses": { - "200": { - "description": "Top queries searched on this space.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsTopSearches" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/insights/traffic": { - "get": { - "operationId": "getTrafficAnalyticsForSpaceById", - "summary": "Get traffic page views for a given space", - "description": "Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday.", - "tags": ["analytics", "spaces"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "name": "interval", - "required": false, - "in": "query", - "schema": { - "$ref": "#/components/schemas/AnalyticsTrafficInterval" - } - } - ], - "responses": { - "200": { - "description": "Traffic over time for the given space.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AnalyticsTrafficPageViews" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/insights/track_view": { - "post": { - "operationId": "trackViewInSpaceById", - "description": "Track a page view in a space.", - "tags": ["analytics", "spaces"], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "204": { - "description": "Page view has been tracked." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestSpaceTrackPageView" - } - } - } - } - } - }, - "/spaces/{spaceId}/content": { - "get": { - "operationId": "getCurrentRevision", - "summary": "Get the current primary content revision for a space", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Revision" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/content/import": { - "post": { - "summary": "Import content in a space.", - "operationId": "importContent", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "201": { - "description": "Content imported in a new revision", - "headers": { - "Location": { - "description": "API URL for the newly created revision", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportContentResult" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestImportContent" - } - } - } - } - } - }, - "/spaces/{spaceId}/content/files": { - "get": { - "summary": "List all files for the latest primary revision content for a space", - "operationId": "listFiles", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/listPage" - }, - { - "$ref": "#/components/parameters/listLimit" - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ContentFilesResponse" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/content/page/{pageId}": { - "get": { - "operationId": "getPageById", - "summary": "Get a page by its ID in the primary content.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/pageId" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevisionPage" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/content/page/{pageId}/import": { - "post": { - "operationId": "importContentInPageById", - "summary": "Import external content into a page by its ID.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/pageId" - } - ], - "responses": { - "201": { - "description": "Content imported in a new revision", - "headers": { - "Location": { - "description": "API URL for the newly created revision", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportContentResult" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestImportContent" - } - } - } - } - } - }, - "/spaces/{spaceId}/content/path/{pagePath}": { - "get": { - "operationId": "getPageByPath", - "summary": "Get a page by its path in the primary content.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/pagePath" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageGroup" - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests": { - "post": { - "operationId": "createChangeRequest", - "summary": "Create a new change request for a space.", - "tags": ["spaces"], - "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": { - "allOf": [ - { - "$ref": "#/components/schemas/ChangeRequest" - }, - { - "type": "object", - "properties": { - "changeRequest": { - "type": "string", - "deprecated": true - } - }, - "required": ["changeRequest"] - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestCreateChangeRequest" - } - } - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/merge": { - "post": { - "operationId": "mergeChangeRequest", - "summary": "Merge a change request in the primary content of a space.", - "tags": ["spaces"], - "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"] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/update": { - "post": { - "operationId": "updateChangeRequest", - "summary": "Update a change-request with changes from primary content.", - "tags": ["spaces"], - "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"] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content": { - "get": { - "operationId": "getRevisionOfChangeRequestById", - "summary": "Get the latest content revision for a change request.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Revision" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/import": { - "post": { - "summary": "Import content in a change request.", - "operationId": "importContentInChangeRequest", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - } - ], - "responses": { - "201": { - "description": "Content imported in a new revision", - "headers": { - "Location": { - "description": "API URL for the newly created revision", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportContentResult" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestImportContent" - } - } - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/files": { - "get": { - "summary": "List all files in the latest content of the change-request", - "operationId": "listFilesInChangeRequestById", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - }, - { - "$ref": "#/components/parameters/listPage" - }, - { - "$ref": "#/components/parameters/listLimit" - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ContentFilesResponse" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}": { - "get": { - "operationId": "getPageInChangeRequestById", - "summary": "Get a page by its ID in a change request.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - }, - { - "$ref": "#/components/parameters/pageId" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevisionPage" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}/import": { - "post": { - "operationId": "importContentInChangeRequestPageById", - "summary": "Import external content into a page of a change-request by its ID.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - }, - { - "$ref": "#/components/parameters/pageId" - } - ], - "responses": { - "201": { - "description": "Content imported in a new revision", - "headers": { - "Location": { - "description": "API URL for the newly created revision", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ImportContentResult" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestImportContent" - } - } - } - } - } - }, - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/path/{pagePath}": { - "get": { - "operationId": "getPageInChangeRequestByPath", - "summary": "Get a page by its path in a change request.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/changeRequestId" - }, - { - "$ref": "#/components/parameters/pagePath" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageGroup" - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/revisions/{revisionId}": { - "get": { - "operationId": "getRevisionById", - "summary": "Get a specific revision in a space", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/revisionId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Revision" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/revisions/{revisionId}/files": { - "get": { - "summary": "List all files in a revision", - "operationId": "listFilesInRevisionById", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/revisionId" - }, - { - "$ref": "#/components/parameters/listPage" - }, - { - "$ref": "#/components/parameters/listLimit" - } - ], - "responses": { - "200": { - "$ref": "#/components/responses/ContentFilesResponse" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/revisions/{revisionId}/page/{pageId}": { - "get": { - "operationId": "getPageInRevisionById", - "summary": "Get a page by its ID in a revision.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/revisionId" - }, - { - "$ref": "#/components/parameters/pageId" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RevisionPage" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/spaces/{spaceId}/revisions/{revisionId}/path/{pagePath}": { - "get": { - "operationId": "getPageInRevisionByPath", - "summary": "Get a page by its path in a revision.", - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/spaceId" - }, - { - "$ref": "#/components/parameters/revisionId" - }, - { - "$ref": "#/components/parameters/pagePath" - }, - { - "$ref": "#/components/parameters/pageFormat" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "oneOf": [ - { - "$ref": "#/components/schemas/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageGroup" - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/collections/{collectionId}": { - "get": { - "operationId": "getCollectionById", - "summary": "Get the details about a collection using its ID", - "tags": ["collections"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/collectionId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Collection" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/collections/{collectionId}/spaces": { - "get": { - "operationId": "listSpacesInCollectionById", - "summary": "List all the spaces in a collection by its ID.", - "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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations": { - "get": { - "operationId": "listIntegrations", - "summary": "List all public integrations", - "tags": ["integrations"], - "parameters": [ - { - "$ref": "#/components/parameters/listPage" - }, - { - "$ref": "#/components/parameters/listLimit" - } - ], - "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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations/{integrationName}": { - "get": { - "operationId": "getIntegrationByName", - "summary": "Get a specific 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" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "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" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestPublishIntegration" - } - } - } - } - }, - "delete": { - "operationId": "unpublishIntegration", - "summary": "Unpublish an integration", - "tags": ["integrations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/integrationName" - } - ], - "responses": { - "204": { - "description": "Integration has been deleted" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations/{integrationName}/installations": { - "get": { - "operationId": "listIntegrationInstallations", - "summary": "Fetch a list of installations of an integration", - "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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations/{integrationName}/spaces": { - "get": { - "operationId": "listIntegrationSpaceInstallations", - "summary": "Fetch a list of space installations of an integration", - "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/IntegrationSpaceInstallation" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations/{integrationName}/render": { - "get": { - "operationId": "renderIntegrationUIWithGet", - "summary": "Render an integration UI in the context of an installation.", - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "post": { - "operationId": "renderIntegrationUIWithPost", - "summary": "Render an integration UI in the context of an installation.", - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestRenderIntegrationUI" - } - } - } - } - } - }, - "/integrations/{integrationName}/installations/{installationId}": { - "patch": { - "operationId": "updateIntegrationInstallation", - "summary": "Update external IDs and configurations of an integration's 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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestUpdateIntegrationInstallation" - } - } - } - } - } - }, - "/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" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}": { - "patch": { - "operationId": "updateIntegrationSpaceInstallation", - "summary": "Update external IDs and configurations of an integration's installation for a space", - "parameters": [ - { - "$ref": "#/components/parameters/integrationName" - }, - { - "$ref": "#/components/parameters/installationId" - }, - { - "$ref": "#/components/parameters/spaceId" - } - ], - "responses": { - "200": { - "description": "The space installation has been updated.", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/IntegrationSpaceInstallation" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestUpdateIntegrationInstallation" - } - } - } - } - } - }, - "/orgs": { - "get": { - "operationId": "listOrganizationsForAuthenticatedUser", - "summary": "Get the list of organizations for the currently authenticated user", - "tags": ["organizations"], - "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"] - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/members": { - "get": { - "operationId": "listMembersInOrganizationById", - "summary": "List organization members", - "description": "Lists members for the specified organization.\n", - "tags": ["organizations"], - "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/OrganizationMember" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/members/{userId}": { - "get": { - "operationId": "getMemberInOrganizationById", - "summary": "Get specified organization member", - "description": "Gets a specific member in an organization.\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/userId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrganizationMember" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "patch": { - "operationId": "updateMemberInOrganizationById", - "summary": "Update specified organization member", - "description": "Updates a specific member in an organization.\n", - "tags": ["organizations"], - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "role": { - "$ref": "#/components/schemas/MemberRoleOrGuest" - } - } - } - } - } - } - }, - "delete": { - "operationId": "removeMemberFromOrganizationById", - "summary": "Delete a member from an organization", - "description": "Deletes a specific member from an organization\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/userId" - } - ], - "responses": { - "204": { - "description": "The member was deleted from the organization." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/members/{userId}/sso": { - "post": { - "operationId": "setUserAsSSOMemberForOrganization", - "summary": "Set a user as an SSO member of an organization", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/userId" - } - ], - "responses": { - "204": { - "description": "The user has been added as an SSO member of the organization." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/teams": { - "get": { - "operationId": "listTeamsInOrganizationById", - "summary": "List organization teams", - "description": "Lists teams for the specified organization.\n", - "tags": ["organizations"], - "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/OrganizationTeam" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "put": { - "operationId": "createOrganizationTeam", - "summary": "Create organization team", - "description": "Creates a team in the specified organization.\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "201": { - "description": "Team has been created", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrganizationTeam" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string", - "title": "Title for the new team." - }, - "members": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": ["title"] - } - } - } - } - } - }, - "/orgs/{organizationId}/teams/{teamId}": { - "get": { - "operationId": "getTeamInOrganizationById", - "summary": "Get specified organization team", - "description": "Gets a specific team in an organization.\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/teamId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/OrganizationTeam" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "patch": { - "operationId": "updateTeamInOrganizationById", - "summary": "Update specified organization team", - "description": "Updates a specific team in an organization.\n", - "tags": ["organizations"], - "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" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "title": { - "type": "string" - } - } - } - } - } - } - }, - "delete": { - "operationId": "removeTeamFromOrganizationById", - "summary": "Delete a team in an organization", - "description": "Deletes a specific team in an organization\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/teamId" - } - ], - "responses": { - "204": { - "description": "The team was deleted from the organization." - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/teams/{teamId}/members": { - "get": { - "operationId": "listTeamMembersInOrganizationById", - "summary": "List team members", - "description": "Lists members for the specified organization team.\n", - "tags": ["organizations"], - "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/OrganizationMember" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/teams/{teamId}/members/{userId}": { - "put": { - "operationId": "addMemberToOrganizationTeam", - "summary": "Add member to a team", - "description": "Adds member into the specified organization team.\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/teamId" - }, - { - "$ref": "#/components/parameters/userId" - } - ], - "responses": { - "204": { - "description": "Member has been added to the team" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - }, - "delete": { - "operationId": "deleteMemberFromOrganizationTeam", - "summary": "Delete members from a team", - "description": "Deletes member from the specified organization team.\n", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "$ref": "#/components/parameters/teamId" - }, - { - "$ref": "#/components/parameters/userId" - } - ], - "responses": { - "204": { - "description": "Member has been deleted from the team" - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/invites": { - "post": { - "operationId": "inviteUsersToOrganization", - "summary": "Invite users to a given organization based on a list of emails", - "tags": ["organizations"], - "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" - } - }, - "required": ["users", "invited"] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestInviteUsersToOrganization" - } - } - } - } - } - }, - "/orgs/{organizationId}/invites/{inviteId}": { - "post": { - "operationId": "joinOrganizationWithInvite", - "summary": "Use an invite to join an organization.", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - }, - { - "name": "inviteId", - "in": "path", - "required": true, - "description": "The unique id of the invite", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/billing": { - "post": { - "operationId": "upgradeOrganizationPlan", - "summary": "Upgrade an organization's billing plan", - "tags": ["organizations"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BillingUpgrade" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - }, - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/RequestUpgradeOrganizationBilling" - } - } - } - } - }, - "get": { - "operationId": "getOrganizationBillingPortal", - "summary": "Get the billing portal for an organization", - "tags": ["organizations"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/BillingPortal" - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/request_upgrade": { - "post": { - "operationId": "requestOrganizationUpgrade", - "summary": "Send a request to ask the organization's admin to upgrade it.", - "tags": ["organizations"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": {} - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/transfer": { - "post": { - "operationId": "transferOrganization", - "summary": "Transfer one organization (source) into another organization (target).", - "tags": ["organizations"], - "security": [ - { - "user": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["source"], - "properties": { - "source": { - "type": "string", - "description": "The unique id of the organization to transfer into the current one." - }, - "defaultOrgRole": { - "description": "Determine the default role members of the source org will have when they are transferred into the target org. Defaults to null, which means no access.", - "oneOf": [ - { - "$ref": "#/components/schemas/MemberRoleOrGuest" - }, - { - "type": "string", - "description": "Use SAML's default role for transferred members.", - "enum": ["saml"] - } - ] - } - } - } - } - } - }, - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["collection"], - "properties": { - "collection": { - "type": "string", - "description": "The unique id of the collection created in the target organization containing the content of the source organization." - }, - "newSourceHostname": { - "type": "string", - "description": "The new hostname if the source organization needed to change hostname." - } - } - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/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" - } - }, - { - "$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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/spaces": { - "get": { - "operationId": "listSpacesInOrganizationById", - "summary": "List organization spaces", - "description": "Lists spaces for the specified organization.\n", - "tags": ["organizations"], - "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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/collections": { - "get": { - "operationId": "listCollectionsInOrganizationById", - "summary": "List organization collections", - "description": "Lists collections for the specified organization.\n", - "tags": ["organizations"], - "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" - } - } - } - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/dsync": { - "post": { - "operationId": "setupDirectorySync", - "summary": "Set up Directory Sync in an organization.", - "tags": ["organizations", "dsync"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "200": { - "description": "Directory Sync has been properly initialized for the organization.", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["setupUrl"], - "properties": { - "setupUrl": { - "description": "The URL to navigate to to continue Directory Sync setup.", - "type": "string" - } - } - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/dsync/groups": { - "get": { - "operationId": "listDirectorySyncGroups", - "summary": "Lists the groups exposed to the synced Directory on an organization.", - "tags": ["organizations", "dsync"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "responses": { - "200": { - "description": "A list of all of a Directory's group configured for the given identity provider.\nOnly groups pushed to the SCIM sync will be listed in this result.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "All the groups.", - "required": ["groups"], - "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OrganizationDirectorySyncGroup" - } - } - } - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/orgs/{organizationId}/dsync/teams": { - "post": { - "operationId": "syncDirectorySyncGroupsToTeams", - "summary": "Syncs a list of group/team unique identifiers pairs together.", - "description": "Each pair will lead the team being synced to the group (unless it is already synced to another) and the members of the group will then be synced to the team.\nEach sync is independent, the endpoint will still succeed if some of the syncs fail.\nCheck the response to know more about the success or failure of the entire sync.\n", - "tags": ["organizations", "dsync"], - "security": [ - { - "user-internal": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/organizationId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "description": "Parameters for syncing a list of Directory Sync groups to a GitBook team, syncing all members of those groups to the assigned teams.\nThe endpoint can be used for one or many groups to team syncs.\n", - "required": ["to_sync"], - "properties": { - "to_sync": { - "type": "array", - "description": "A list of groups to teams pairs to sync.\nThe group_id is required and the team_id is optional.\nIf the latter is omitted, a new team will be created from the group's data.\n", - "items": { - "type": "object", - "required": ["group_id"], - "properties": { - "group_id": { - "type": "string", - "description": "The unique identifier of the group for the given identity provider." - }, - "team_id": { - "type": "string", - "description": "The unique identifier of the team for the given identity provider." - } - } - } - } - } - } - } - } - }, - "responses": { - "200": { - "description": "A list of the results of the synchronization.\nThis will return regardless of the status of the sync.\nCheck the content to know if the sync was successful.\n", - "content": { - "application/json": { - "schema": { - "type": "object", - "required": ["synced"], - "properties": { - "synced": { - "type": "array", - "description": "The list of synced pairs, mapped to the original pairs given to the sync parameters.\nEither the group_id and team_id will be defined, or the error will be defined to describe why it failed.\nUse the success parameter to know if the pair sync was sucessful or not.\n", - "items": { - "$ref": "#/components/schemas/OrganizationDirectorySyncGroupTeamStatus" - } - } - } - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - }, - "/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/RevisionPageSheet" - }, - { - "$ref": "#/components/schemas/RevisionPageGroup" - } - ] - } - }, - "required": ["space"] - } - ] - } - } - } - }, - "default": { - "$ref": "#/components/responses/UnexpectedError" - } - } - } - } - } -} diff --git a/docs/.gitbook/assets/openapi.yml b/docs/.gitbook/assets/openapi.yml deleted file mode 100644 index 7bb7792de..000000000 --- a/docs/.gitbook/assets/openapi.yml +++ /dev/null @@ -1,5813 +0,0 @@ -openapi: 3.0.3 -info: - title: GitBook API - description: The GitBook API - termsOfService: https://policies.gitbook.com - contact: - name: API Support - url: https://gitbook.com/support - email: support@gitbook.com - version: 0.0.1-beta -servers: - - url: "{host}/v1" - variables: - host: - default: https://api.gitbook.com -security: - - user: [] - - user-internal: [] - - user-staff: [] - - integration: [] -components: - securitySchemes: - user: - type: http - scheme: bearer - user-internal: - type: http - scheme: bearer - user-staff: - type: http - scheme: bearer - integration: - type: http - scheme: bearer - parameters: - listLimit: - name: limit - in: query - description: The number of results per page - schema: - type: number - listPage: - name: page - in: query - description: Identifier of the page results to fetch. - schema: - type: string - pageFormat: - name: format - in: query - description: Output format for the page's content. - schema: - type: string - enum: - - document - - markdown - spaceId: - name: spaceId - in: path - required: true - description: The unique id of the space - schema: - type: string - collectionId: - name: collectionId - in: path - required: true - description: The unique id of the collection - schema: - type: string - revisionId: - name: revisionId - in: path - required: true - description: The unique id of the revision - schema: - type: string - changeRequestId: - name: changeRequestId - in: path - required: true - description: The unique ID of the change request or its number identifier in the space - schema: - oneOf: - - type: string - - type: integer - integrationName: - name: integrationName - in: path - required: true - description: Name of the integration - schema: - type: string - installationId: - name: installationId - in: path - required: true - description: Identifier of the installation - schema: - type: string - organizationId: - name: organizationId - in: path - required: true - description: The unique id of the organization - schema: - type: string - userId: - name: userId - in: path - required: true - description: The unique ID of the User - schema: - type: string - teamId: - name: teamId - in: path - required: true - description: The unique ID of the Team - schema: - type: string - pageId: - name: pageId - in: path - required: true - description: The unique id of the page - schema: - type: string - pagePath: - name: pagePath - in: path - required: true - description: The path of the page in the revision. - schema: - type: string - backofficeHostname: - name: hostname - in: path - required: true - description: The custom hostname - schema: - type: string - schemas: - Error: - type: object - required: - - error - properties: - error: - type: object - properties: - code: - type: integer - format: int32 - message: - type: string - required: - - code - - message - 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 - URL: - type: string - format: uri - Date: - type: string - format: date - RequestSpaceTrackPageView: - type: object - properties: - pageId: - type: string - description: Unique identifier of the page. - visitor: - type: object - description: Analytics info on the GitBook's content visitor. - properties: - anonymousId: - type: string - description: GitBook's unique identifier of the visitor. - cookies: - type: object - description: The visitors cookies. - additionalProperties: - type: string - userAgent: - type: string - description: User-agent of the visitor. - required: - - anonymousId - - cookies - - userAgent - url: - type: string - description: The GitBook content's URL visited (including URL params). - referrer: - type: string - description: The URL of referrer that linked to the page. - required: - - pageId - - visitor - - url - - referrer - RequestPublishIntegration: - type: object - properties: - icon: - type: string - format: byte - description: Base64 content of the icon - title: - $ref: "#/components/schemas/Integration/properties/title" - description: - $ref: "#/components/schemas/Integration/properties/description" - summary: - $ref: "#/components/schemas/Integration/properties/summary" - previewImages: - type: array - maxItems: 3 - items: - type: string - format: byte - description: Base64 content of the image - visibility: - $ref: "#/components/schemas/IntegrationVisibility" - scopes: - $ref: "#/components/schemas/Integration/properties/scopes" - categories: - $ref: "#/components/schemas/Integration/properties/categories" - blocks: - $ref: "#/components/schemas/Integration/properties/blocks" - externalLinks: - $ref: "#/components/schemas/Integration/properties/externalLinks" - configurations: - $ref: "#/components/schemas/IntegrationConfigurations" - script: - type: string - description: Content of the script to use - organization: - type: string - description: The ID or subdomain of the organization under which the integration should be published - secrets: - $ref: "#/components/schemas/IntegrationSecrets" - contentSecurityPolicy: - $ref: "#/components/schemas/IntegrationContentSecurityPolicy" - required: - - title - - description - - script - - scopes - RequestUpdateIntegrationInstallation: - type: object - properties: - externalIds: - $ref: "#/components/schemas/IntegrationInstallation/properties/externalIds" - configuration: - $ref: "#/components/schemas/IntegrationInstallation/properties/configuration" - RequestUpgradeOrganizationBilling: - type: object - properties: - product: - $ref: "#/components/schemas/BillingProduct" - interval: - $ref: "#/components/schemas/BillingInterval" - reason: - type: string - description: Reason that triggered the billing upgrade - mode: - type: string - description: | - Mode to use for the upgrade (default value is `commit`): - `auto`: user is redirect to checkout if possible, other a preview of the auto-upgrade is returned. - `commit`: a checkout session is returned or an auto-upgrade is done - `preview`: a preview invoice is always returned - enum: - - auto - - commit - - preview - required: - - product - - interval - RequestInviteUsersToOrganization: - type: object - properties: - emails: - type: array - items: - oneOf: - - type: string - description: The email address of the user to invite as a member - - type: object - properties: - email: - type: string - description: The email address of the user to invite as a member - role: - $ref: "#/components/schemas/MemberRoleOrGuest" - required: - - email - - role - role: - description: Default role to set on newly invited members. - $ref: "#/components/schemas/MemberRoleOrGuest" - sso: - description: If true, invites the user as an SSO user of the organization. Defaults to false. - type: boolean - required: - - emails - RequestImportGitRepository: - 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. - 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. - force: - type: boolean - standalone: - type: boolean - description: If true, the import will generate a revision without updating the space primary content. - required: - - url - - ref - RequestExportToGitRepository: - 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. - 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. - force: - type: boolean - required: - - url - - ref - - commitMessage - RequestImportContent: - type: object - properties: - url: - type: string - description: URL of the content to import. - source: - $ref: "#/components/schemas/ImportContentSource" - required: - - url - - source - RequestCreateChangeRequest: - type: object - properties: - subject: - type: string - description: Subject of the change-request - RequestRenderIntegrationUI: - type: object - properties: - componentId: - type: string - description: ID of the component to render in the integration. - spaceId: - type: string - description: ID of the space to render. - props: - type: object - description: Current properties of the UI. - state: - type: object - description: Current local state of the UI. - context: - $ref: "#/components/schemas/ContentKitContext" - action: - $ref: "#/components/schemas/ContentKitAction" - required: - - componentId - - spaceId - - props - - context - RequestUpdateContentPublishingAuth: - type: object - properties: - fallbackURL: - type: string - format: uri - description: A fallback URL that will be used if authentication fails. - 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 - RequestPurgeCDNCacheContext: - type: object - description: The context to send when purging the CDN Cache - properties: - type: - $ref: "#/components/schemas/PurgeCDNCacheContextType" - values: - type: array - description: The list of tags or hosts to purge - items: - type: string - required: - - type - - values - RequestBlockUserContext: - type: object - description: The context to send when blocking/unblocking a user - properties: - block: - type: boolean - required: - - block - TriggerContentIndexingContext: - type: object - description: The context to send when triggering a content indexing. - properties: - spaceId: - type: string - description: The unique identifier of the Space to index. - force: - type: boolean - description: Whether to force a complete re-indexing of the Space. - required: - - spaceId - - force - 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 - required: - - object - - id - - displayName - UserTarget: - type: object - properties: - user: - type: string - ContentVisibility: - type: string - description: | - * `public`: Anyone can access the content, and the content is indexed by search engines. - * `unlisted`: Anyone can access the content, and the content is not indexed by search engines - * `share-link`: Anyone with a secret token in the url can access the content. - * `visitor-auth`: Anyone authenticated through a JWT token can access the content. - * `in-collection`: Anyone who can access the parent collection can access the content. - Only available for spaces in a collection. - * `private`: Authorized members can access the content. - enum: - - public - - unlisted - - share-link - - visitor-auth - - in-collection - - private - ContentPublishingAuth: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "publishing-auth" - enum: - - publishing-auth - id: - type: string - description: Unique identifier for the content. - privateKey: - type: string - description: Private key used to sign JWT tokens. - fallbackURL: - type: string - format: uri - description: URL to redirect to when the visitor auth secret is invalid. - required: - - object - - id - - privateKey - ImportContentResult: - type: object - required: - - revision - - importedResources - - totalResources - properties: - revision: - type: string - description: ID of the newly created revision. - importedResources: - type: number - description: How many resources were imported - totalResources: - type: number - description: How many resources were processed - 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: - type: string - description: Title of the space - minLength: 0 - maxLength: 100 - visibility: - $ref: "#/components/schemas/ContentVisibility" - createdAt: - $ref: "#/components/schemas/Date" - updatedAt: - $ref: "#/components/schemas/Date" - urls: - type: object - description: URLs associated with the object - properties: - 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 - required: - - app - required: - - object - - id - - title - - visibility - - createdAt - - updatedAt - - urls - Revision: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "revision" - enum: - - revision - id: - description: Unique identifier for the revision - type: string - parents: - description: IDs of the parent revisions - type: array - items: - type: string - pages: - type: array - items: - $ref: "#/components/schemas/RevisionPage" - files: - type: array - items: - $ref: "#/components/schemas/RevisionFile" - git: - type: object - description: Metadata about a potential associated git commit. - required: - - oid - - message - - createdByGitBook - properties: - oid: - type: string - description: SHA of the Git commit. - message: - type: string - description: Git commit message. - createdByGitBook: - type: boolean - description: Whether not this commit was created by GitBook, while exporting the revision. - url: - type: string - description: URL of the Git commit. - urls: - type: object - properties: - app: - type: string - format: uri - description: URL in the application for the revision - published: - type: string - description: URL of the published version of the revision. Only defined when the space visibility is not "private." - format: uri - public: - type: string - description: URL of the public version of the revision. Only defined when the space visibility is "public". - format: uri - required: - - app - required: - - object - - id - - parents - - pages - - files - - urls - RevisionPage: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageGroup" - - $ref: "#/components/schemas/RevisionPageLink" - discriminator: - propertyName: type - RevisionPageBase: - type: object - properties: - id: - description: Unique identifier for the page in the revision - type: string - title: - description: Title of the page - type: string - maxLength: 100 - required: - - id - - title - RevisionPageSheet: - allOf: - - $ref: "#/components/schemas/RevisionPageBase" - - type: object - properties: - kind: - type: string - enum: - - sheet - slug: - description: Page's slug in its direct parent - type: string - path: - description: Complete path to access the page in the revision. - type: string - description: - type: string - pages: - type: array - items: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageLink" - required: - - kind - - slug - - path - - pages - - oneOf: - - type: object - properties: - markdown: - type: string - description: Content of the page formatted as markdown - required: - - markdown - - type: object - properties: - document: - $ref: "#/components/schemas/PageDocument" - required: - - document - - type: object - properties: {} - additionalProperties: false - RevisionPageGroup: - allOf: - - $ref: "#/components/schemas/RevisionPageBase" - - type: object - properties: - kind: - type: string - enum: - - group - slug: - description: Page's slug in its direct parent - type: string - path: - description: Complete path to access the page in the revision. - type: string - pages: - type: array - items: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageLink" - required: - - kind - - slug - - path - - pages - RevisionPageLink: - allOf: - - $ref: "#/components/schemas/RevisionPageBase" - - type: object - properties: - kind: - type: string - enum: - - link - href: - type: string - required: - - kind - RevisionFile: - type: object - properties: - id: - type: string - name: - type: string - contentType: - type: string - downloadURL: - type: string - required: - - id - - name - - contentType - - downloadURL - PageDocument: - type: object - properties: - nodes: - type: array - items: - type: object - properties: {} - required: - - nodes - ImportContentSource: - type: string - enum: - - website - - docx - - markdown - - html - - zip - - confluence - - github-wiki - - dropbox-paper - - notion - - quip - - google-docs - - open-api - Organization: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "organization" - enum: - - organization - id: - type: string - description: Unique identifier for the organization - title: - type: string - description: Name of the organization - minLength: 2 - maxLength: 300 - required: - - object - - id - - title - MemberRole: - type: string - description: | - "The role of a member in an organization. - "admin": Can administrate the content: create, delete spaces, ... - "create": Can create content. - "review": Can review content. - "edit": Can edit the content (live or change requests). - "comment": Can access the content and its discussions. - "read": Can access the content, but cannot update it in any way. - enum: - - admin - - create - - edit - - review - - comment - - read - MemberRoleOrGuest: - description: The role of a member in an organization, null for guests - oneOf: - - $ref: "#/components/schemas/MemberRole" - - type: string - nullable: true - enum: - - null - OrganizationTransferResponse: - type: object - required: - - collection - properties: - collection: - type: string - description: The unique id of the collection created in the target organization containing the content of the source organization. - newSourceHostname: - type: string - description: The new hostname if the source organization needed to change hostname. - OrganizationDirectorySyncGroup: - type: object - required: - - id - - idp_id - - directory_id - - name - properties: - id: - type: string - description: The unique identifier of this group in WorkOS. Not the unique ID from GitBook. - idp_id: - type: string - description: The identity provider's unique ID for this group, should be used to generate the team's unique ID when syncing the groups. - directory_id: - type: string - description: The unique ID of the directory this group is owned by in WorkOS. Is not a unique ID from our database. - name: - type: string - description: The name of the group from the identity provider, it should always be set according to the WorkOS documentation. - teamKey: - type: string - description: The unique ID of the GitBook team already synced to this group, if applicable. - OrganizationDirectorySyncGroupTeamStatus: - anyOf: - - type: object - required: - - success - - group_id - - team_id - properties: - success: - type: boolean - enum: - - true - group_id: - type: string - team_id: - type: string - - type: object - required: - - success - - error - properties: - success: - type: boolean - enum: - - false - error: - type: string - OrganizationTarget: - type: object - properties: - organization: - type: string - OrganizationMember: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "member" - enum: - - member - id: - type: string - description: Unique identifier for the user. - role: - $ref: "#/components/schemas/MemberRoleOrGuest" - user: - $ref: "#/components/schemas/User" - disabled: - type: boolean - description: Whatever the membership of this user is disabled and prevent them from accessing content. - joinedAt: - description: Date at which the user joined the organization. - $ref: "#/components/schemas/Date" - sso: - type: boolean - description: Whether the user can login with SSO. - required: - - object - - id - - role - - user - - disabled - - joinedAt - - sso - 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: - type: string - description: Title of the team. - members: - type: integer - description: Count of members in this team. - createdAt: - description: Date at which the team was created. - $ref: "#/components/schemas/Date" - required: - - object - - id - - title - - members - - createdAt - ChangeRequest: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "change-request" - enum: - - change-request - id: - type: string - description: Unique identifier for the change request - number: - type: number - description: Incremental identifier of the change request - status: - $ref: "#/components/schemas/ChangeRequestStatus" - subject: - type: string - description: Subject of the change request - minLength: 0 - maxLength: 100 - createdBy: - $ref: "#/components/schemas/User" - createdAt: - $ref: "#/components/schemas/Date" - updatedAt: - $ref: "#/components/schemas/Date" - urls: - type: object - description: URLs associated with the object - properties: - app: - type: string - description: URL of the space in the application - format: uri - required: - - app - required: - - object - - id - - number - - status - - subject - - createdBy - - createdAt - - updatedAt - - urls - ChangeRequestStatus: - type: string - enum: - - draft - - open - - archived - - merged - 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 - MemberContentPermission: - type: object - description: Permission of a member in a content. - properties: - permission: - $ref: "#/components/schemas/MemberRole" - space: - $ref: "#/components/schemas/Space" - required: - - permission - - space - SearchSpaceResult: - type: object - description: Search result representing a space. - properties: - id: - type: string - title: - type: string - pages: - type: array - items: - $ref: "#/components/schemas/SearchPageResult" - required: - - id - - title - - pages - SearchPageResult: - type: object - description: Search result representing a page in a space. - properties: - id: - type: string - title: - type: string - path: - type: string - sections: - type: array - items: - $ref: "#/components/schemas/SearchSectionResult" - 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 - - urls - SearchSectionResult: - type: object - description: Search result representing a section in a page. - properties: - id: - type: string - title: - type: string - path: - type: string - 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 - - body - - urls - SearchAIQuery: - type: object - properties: - query: - type: string - previousQueries: - type: array - maxItems: 10 - items: - type: string - required: - - query - SearchAIAnswer: - type: object - description: Answer from AI for a question asked on a content. - properties: - text: - type: string - followupQuestions: - type: array - items: - type: string - pages: - type: array - items: - type: object - properties: - page: - type: string - revision: - type: string - space: - type: string - sections: - type: array - items: - type: string - required: - - page - - revision - - space - - sections - required: - - text - - pages - - followupQuestions - SearchAIRecommendedQuestions: - type: object - description: Questions recommended by the AI for the given content. - properties: - questions: - type: array - items: - type: string - required: - - questions - AnalyticsSearchPeriod: - type: string - enum: - - last_month - - last_week - - last_year - AnalyticsSearchQuery: - type: object - description: Analytics entry for a search query. - required: - - query - - searches - - hits - - pageHits - - sectionHits - properties: - query: - type: string - searches: - description: Number of searches done by users. - type: number - hits: - description: Number of objects matching this search. - type: number - pageHits: - description: Number of pages matching this search. - type: number - sectionHits: - description: Number of sections matching this search. - type: number - AnalyticsTopSearches: - type: object - description: Top search queries for a content. - required: - - searches - - queries - properties: - searches: - description: Number of searches done by users. - type: number - queries: - description: Top queries searched for this content. - type: array - items: - $ref: "#/components/schemas/AnalyticsSearchQuery" - AnalyticsTrafficInterval: - type: string - enum: - - daily - - weekly - - monthly - AnalyticsTrafficPageViews: - type: object - required: - - count - - views - properties: - count: - description: Total number of page views over the period. - type: number - views: - description: Page views per interval (day, week, month). - type: array - items: - type: object - properties: - timestamp: - type: string - count: - type: number - required: - - timestamp - - count - AnalyticsContentPages: - type: object - required: - - pages - properties: - pages: - type: array - items: - $ref: "#/components/schemas/AnalyticsContentPage" - AnalyticsContentPage: - type: object - description: Page entry in the content analytics. - required: - - page - - title - - pageViews - properties: - page: - type: string - title: - type: string - pageViews: - type: number - feedbacks: - type: object - required: - - score - - total - - rating - - bad - - ok - - good - properties: - score: - type: number - description: Score between 0 and 4. - total: - type: number - rating: - type: string - enum: - - unknown - - bad - - ok - - good - bad: - type: number - ok: - type: number - good: - type: number - Collection: - type: object - properties: - object: - type: string - description: Type of Object, always equals to "collection" - enum: - - collection - id: - type: string - description: Unique identifier for the collection - title: - type: string - description: Title of the collection - minLength: 0 - maxLength: 100 - path: - type: string - description: Path in the published URL - visibility: - $ref: "#/components/schemas/ContentVisibility" - publishingType: - type: string - enum: - - variants - primarySpace: - type: string - description: ID of the primary space for this collection - collection: - type: string - description: ID of the parent collection, if any - required: - - object - - id - - title - - visibility - Integration: - type: object - properties: - object: - type: string - enum: - - integration - name: - type: string - description: Unique named identifier for the integration - title: - type: string - description: Title of the integration - minLength: 2 - maxLength: 30 - description: - type: string - description: Description of the integration - maxLength: 100 - summary: - type: string - description: Long form markdown summary of the integration - maxLength: 2048 - previewImages: - type: array - description: URLs of images to showcase the integration - maxItems: 3 - items: - type: string - visibility: - $ref: "#/components/schemas/IntegrationVisibility" - scopes: - type: array - description: Permissions that should be granted to the integration - items: - $ref: "#/components/schemas/IntegrationScope" - categories: - type: array - description: Categories for which the integration is listed in the marketplace - items: - $ref: "#/components/schemas/IntegrationCategory" - blocks: - type: array - description: Custom blocks defined by this integration. - items: - $ref: "#/components/schemas/IntegrationBlock" - configurations: - $ref: "#/components/schemas/IntegrationConfigurations" - externalLinks: - type: array - description: External urls configured by the developer of the integration - maxItems: 5 - items: - type: object - properties: - url: - $ref: "#/components/schemas/URL" - label: - type: string - required: - - url - - label - urls: - type: object - description: URLs associated with the object - properties: - icon: - type: string - description: URL of the icon associated to the integration - format: uri - app: - type: string - description: URL of the integration in the application - format: uri - assets: - type: string - description: URL of the integration's assets. - format: uri - publicEndpoint: - type: string - description: Public HTTP endpoint for the integration - format: uri - required: - - app - - assets - - publicEndpoint - contentSecurityPolicy: - $ref: "#/components/schemas/IntegrationContentSecurityPolicy" - required: - - object - - name - - title - - scopes - - categories - - visibility - - previewImages - - externalLinks - - urls - IntegrationScope: - type: string - enum: - - space:views:read - - space:content:read - - space:content:write - - space:metadata:read - - space:metadata:write - - space:script:inject - - space:script:cookies - 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 - IntegrationEvent: - type: object - properties: - id: - type: string - description: Unique ID of the event. - integrationId: - type: string - description: Unique ID of the integration. - installationId: - type: string - description: Unique ID of the integration installation. - createdAt: - $ref: "#/components/schemas/Date" - payload: - $ref: "#/components/schemas/Event" - status: - type: string - description: Status of the event. - enum: - - success - - failed - required: - - id - - integrationId - - createdAt - - payload - - status - IntegrationEventLog: - type: object - properties: - message: - description: The message of the log entry. - type: string - timestamp: - $ref: "#/components/schemas/Date" - level: - description: The level of the log entry. - type: string - enum: - - debug - - info - - warn - - error - IntegrationEventTrace: - type: object - required: - - logs - properties: - logs: - type: array - items: - $ref: "#/components/schemas/IntegrationEventLog" - IntegrationInstallationSpaceSelection: - type: string - description: Describe whether all spaces have been selected or there's a selection involved - enum: - - all - - selected - IntegrationCategory: - type: string - enum: - - analytics - - collaboration - - marketing - - content - - other - IntegrationConfigurations: - type: object - properties: - account: - $ref: "#/components/schemas/IntegrationConfiguration" - space: - $ref: "#/components/schemas/IntegrationConfiguration" - IntegrationConfiguration: - type: object - description: Schema for a configuration - properties: - properties: - type: object - additionalProperties: - allOf: - - type: object - properties: - title: - type: string - maxLength: 30 - description: - type: string - maxLength: 100 - - oneOf: - - type: object - properties: - type: - type: string - enum: - - string - default: - type: string - required: - - type - - type: object - properties: - type: - type: string - enum: - - number - default: - type: number - required: - - type - - type: object - properties: - type: - type: string - enum: - - boolean - default: - type: boolean - required: - - type - - type: object - properties: - type: - type: string - enum: - - button - callback_url: - type: string - button_text: - type: string - required: - - type - - callback_url - - button_text - required: - type: array - uniqueItems: true - items: - type: string - required: - - properties - IntegrationVisibility: - type: string - enum: - - public - - private - - unlisted - IntegrationInstallation: - type: object - description: Installation of an integration on an account - properties: - id: - type: string - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - space_selection: - $ref: "#/components/schemas/IntegrationInstallationSpaceSelection" - configuration: - description: Configuration of the integration at the account level - type: object - urls: - type: object - description: URLs associated with the object - properties: - app: - type: string - description: URL of the integration's installation in the application - format: uri - publicEndpoint: - type: string - description: Public HTTP endpoint for the integration's installation - format: uri - required: - - app - - publicEndpoint - externalIds: - description: External IDs assigned by the integration. - type: array - maxItems: 5 - items: - type: string - target: - $ref: "#/components/schemas/IntegrationInstallationTarget" - description: Target of the integration installation - required: - - id - - status - - space_selection - - configuration - - urls - - externalIds - - target - IntegrationSpaceInstallation: - type: object - description: Installation of an integration at a space level - properties: - space: - description: ID of the space the integration is installed on. - type: string - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - configuration: - description: Configuration of the integration for this space - type: object - externalIds: - $ref: "#/components/schemas/IntegrationInstallation/properties/externalIds" - urls: - type: object - description: URLs associated with the object - properties: - publicEndpoint: - type: string - description: Public HTTP endpoint for the integration's space installation - format: uri - required: - - publicEndpoint - required: - - space - - status - - configuration - - externalIds - - urls - IntegrationInstallationStatus: - type: string - enum: - - active - - pending - - paused - IntegrationSecrets: - type: object - description: Secrets stored on the integration and passed at runtime. - properties: {} - maxProperties: 20 - additionalProperties: - type: string - IntegrationEnvironment: - type: object - description: Runtime environment provided during the execution of integration's code. - properties: - apiEndpoint: - type: string - description: URL of the HTTP API - authToken: - type: string - description: Authentication token to use with the HTTP API - integration: - $ref: "#/components/schemas/Integration" - installation: - $ref: "#/components/schemas/IntegrationInstallation" - spaceInstallation: - $ref: "#/components/schemas/IntegrationSpaceInstallation" - secrets: - $ref: "#/components/schemas/IntegrationSecrets" - required: - - apiEndpoint - - integration - - secrets - IntegrationInstallationTarget: - oneOf: - - $ref: "#/components/schemas/UserTarget" - - $ref: "#/components/schemas/OrganizationTarget" - IntegrationContentSecurityPolicy: - description: | - Security policy to validate the content of the integrations scripts and Contentkit. Will be sent as - headers when processing the script fetch event and the blocks fetch events. - oneOf: - - type: string - - type: object - properties: - base-uri: - type: string - block-all-mixed-content: - type: string - child-src: - type: string - connect-src: - type: string - default-src: - type: string - font-src: - type: string - form-action: - type: string - frame-ancestors: - type: string - frame-src: - type: string - img-src: - type: string - manifest-src: - type: string - media-src: - type: string - navigate-to: - type: string - object-src: - type: string - plugin-types: - type: string - prefetch-src: - type: string - referrer: - type: string - report-to: - type: string - report-uri: - type: string - require-sri-for: - type: string - require-trusted-types-for: - type: string - sandbox: - type: string - script-src: - type: string - script-src-attr: - type: string - script-src-elem: - type: string - style-src: - type: string - style-src-attr: - type: string - style-src-elem: - type: string - trusted-types: - type: string - upgrade-insecure-requests: - type: string - worker-src: - type: string - Event: - description: Any event that can be received from GitBook. - oneOf: - - $ref: "#/components/schemas/InstallationSetupEvent" - - $ref: "#/components/schemas/SpaceInstallationSetupEvent" - - $ref: "#/components/schemas/SpaceViewEvent" - - $ref: "#/components/schemas/SpaceContentUpdatedEvent" - - $ref: "#/components/schemas/SpaceGitSyncCompletedEvent" - - $ref: "#/components/schemas/SpaceGitSyncStartedEvent" - - $ref: "#/components/schemas/SpaceVisibilityUpdatedEvent" - - $ref: "#/components/schemas/FetchEvent" - - $ref: "#/components/schemas/FetchPublishedScriptEvent" - - $ref: "#/components/schemas/UIRenderEvent" - discriminator: - propertyName: type - BaseEvent: - description: Common properties for all events. - type: object - properties: - eventId: - description: Unique identifier for the event. - type: string - type: - description: Type of the event. - type: string - required: - - eventId - - type - InstallationEvent: - allOf: - - $ref: "#/components/schemas/BaseEvent" - - type: object - description: Common properties for all events related to an installation - properties: - installationId: - type: string - description: ID of the integration installation - required: - - installationId - SpaceEvent: - allOf: - - $ref: "#/components/schemas/InstallationEvent" - - type: object - description: Common properties for all events related to a specific space. - properties: - spaceId: - type: string - description: ID of the space - required: - - spaceId - InstallationSetupEvent: - allOf: - - $ref: "#/components/schemas/InstallationEvent" - - type: object - description: Event received when integration has been installed or updated. - properties: - type: - type: string - enum: - - installation_setup - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - previous: - type: object - description: The state of the installation at the account level before it was updated. - properties: - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - configuration: - type: object - description: The previous configuration of the installation at the account level. - required: - - status - required: - - type - - status - SpaceInstallationSetupEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event received when integration has been installed or updated on a space. - properties: - type: - type: string - enum: - - space_installation_setup - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - previous: - type: object - description: The state of the Space installation before it was updated. - properties: - status: - $ref: "#/components/schemas/IntegrationInstallationStatus" - configuration: - type: object - description: The previous configuration of the Space installation. - required: - - status - required: - - type - - status - SpaceViewEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event received when a page has been visited. - properties: - type: - type: string - enum: - - space_view - pageId: - type: string - description: Unique identifier of the visited page. - visitor: - type: object - description: Analytics info on the GitBook's content visitor. - properties: - anonymousId: - type: string - description: GitBook's unique identifier of the visitor. - cookies: - type: object - description: The visitors cookies. - additionalProperties: - type: string - userAgent: - type: string - description: User-agent of the visitor. - ip: - type: string - description: IP address of the visitor. - required: - - anonymousId - - cookies - - userAgent - - ip - url: - type: string - description: The GitBook content's URL visited (including URL params). - referrer: - type: string - description: The URL of referrer that linked to the page. - required: - - type - - visitor - - url - - referrer - SpaceContentUpdatedEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event when the primary content of a space has been updated. - properties: - type: - type: string - enum: - - space_content_updated - revisionId: - type: string - description: Unique identifier of the new content revision - required: - - type - - revisionId - SpaceVisibilityUpdatedEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event when the visibility of the space has been changed. - properties: - type: - type: string - enum: - - space_visibility_updated - previousVisibility: - $ref: "#/components/schemas/ContentVisibility" - visibility: - $ref: "#/components/schemas/ContentVisibility" - required: - - type - - previousVisibility - - visibility - SpaceGitSyncCompletedEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event when a GitSync operation has been completed. - properties: - type: - type: string - enum: - - space_gitsync_completed - state: - type: string - enum: - - success - - failure - revisionId: - type: string - description: Unique identifier of the new content revision - commitId: - type: string - description: Unique identifier for the commit (sha) - required: - - type - - state - - revisionId - - commitId - SpaceGitSyncStartedEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event when a GitSync operation has been started. - properties: - type: - type: string - enum: - - space_gitsync_started - revisionId: - type: string - description: Unique identifier of the new content revision - commitId: - type: string - description: Unique identifier for the commit (sha) - required: - - type - - revisionId - - commitId - FetchRequest: - type: object - properties: - method: - type: string - enum: - - post - - get - - put - - delete - url: - type: string - headers: - type: object - additionalProperties: - type: string - required: - - method - - url - - headers - FetchEvent: - allOf: - - $ref: "#/components/schemas/BaseEvent" - - type: object - description: Event representing an incoming HTTP request. - properties: - spaceId: - type: string - description: The space ID, if requests are specific to a single space - installationId: - type: string - description: The installation ID, if requests are specific to a single installation - auth: - type: object - properties: - userId: - type: string - description: The user's ID. - required: - - userId - type: - type: string - enum: - - fetch - request: - $ref: "#/components/schemas/FetchRequest" - required: - - type - - request - FetchPublishedScriptEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Common properties for all events related to fetching a published script from an installation - properties: - type: - type: string - enum: - - fetch_published_script - required: - - type - UIRenderEvent: - allOf: - - $ref: "#/components/schemas/SpaceEvent" - - type: object - description: Event generated when rendering a UI - properties: - auth: - type: object - properties: - userId: - type: string - description: The user's ID. - required: - - userId - type: - type: string - enum: - - ui_render - componentId: - type: string - props: - description: Properties to render the UI. - type: object - state: - description: State of the UI. - type: object - context: - $ref: "#/components/schemas/ContentKitContext" - action: - type: object - required: - - type - - componentId - - props - - context - BillingInterval: - type: string - description: Interval for a billing subscription - enum: - - monthly - - yearly - BillingPortal: - type: object - properties: - url: - type: string - description: URL to the billing portal for an organization - required: - - url - BillingProduct: - type: string - description: Name of the product - enum: - - free - - plus - - pro - - team - - business - - legacy - - startup - - enterprise - BillingUpgrade: - oneOf: - - type: object - properties: - result: - type: string - enum: - - checkout - sessionId: - type: string - description: Stripe payment session ID - required: - - result - - sessionId - - type: object - properties: - result: - type: string - enum: - - preview - invoice: - $ref: "#/components/schemas/BillingInvoicePreview" - required: - - result - - invoice - - type: object - properties: - result: - type: string - enum: - - upgraded - required: - - result - - type: object - properties: - result: - type: string - enum: - - downgraded - required: - - result - BillingInvoicePreview: - type: object - properties: - amount: - description: Amount of the invoice - type: number - amountDueToday: - description: Amount that will be immediately charged. - type: number - customerBalance: - description: Current balance, if any, being stored on the customer. If positive, the customer has credit to apply to their next invoice. - type: number - remainingCustomerBalance: - description: Current balance after potential upgrade. - type: number - lines: - type: array - description: Details of the change happening on the subscription. - items: - type: object - properties: - description: - type: string - amount: - type: number - periodStart: - $ref: "#/components/schemas/Date" - periodEnd: - $ref: "#/components/schemas/Date" - required: - - amount - - description - - periodStart - - periodEnd - required: - - amount - - amountDueToday - - customerBalance - - remainingCustomerBalance - - lines - APIIntegrationScope: - type: string - enum: - - integration:read - - integration:update - - integration:installation:read - - integration:installation:update - APIScope: - anyOf: - - $ref: "#/components/schemas/IntegrationScope" - - $ref: "#/components/schemas/APIIntegrationScope" - CloudflareHostnameStatus: - type: string - description: The Cloudflare Hostname status - enum: - - pending - - active - - blocked - - moved - - deleted - CloudflareHostnameTLSCertificate: - type: object - description: The Cloudflare Hostname TLS certificate - properties: - issuer: - type: string - expiresOn: - type: string - issuedOn: - type: string - CloudflareHostnameTLSInfo: - type: object - description: The Cloudflare Hostname TLS information - properties: - status: - $ref: "#/components/schemas/CloudflareHostnameTLSStatus" - method: - $ref: "#/components/schemas/CloudflareHostnameTLSValidationMethod" - certificateAuthority: - type: string - certificates: - type: array - items: - $ref: "#/components/schemas/CloudflareHostnameTLSCertificate" - validationErrors: - type: array - items: - $ref: "#/components/schemas/CloudflareHostnameTLSValidationError" - required: - - status - - method - - certificates - - validationErrors - CloudflareHostnameTLSStatus: - type: string - description: The Cloudflare Hostname TLS status - enum: - - initializing - - pending_validation - - pending_issuance - - pending_deployment - - active - - pending_deletion - - pending_cleanup - - deleted - CloudflareHostnameTLSValidationError: - type: object - description: The Cloudflare Hostname TLS validation error - properties: - message: - type: string - required: - - message - CloudflareHostnameTLSValidationMethod: - type: string - description: The Cloudflare Hostname TLS validation method - enum: - - http - - txt - - email - CustomDomainInfo: - type: object - description: Cloudflare Custom Domain's information - properties: - hostname: - type: string - status: - $ref: "#/components/schemas/CloudflareHostnameStatus" - createdAt: - type: string - ssl: - $ref: "#/components/schemas/CloudflareHostnameTLSInfo" - verificationErrors: - type: array - items: - type: string - required: - - hostname - - status - - createdAt - - verificationErrors - FirebaseUserInfo: - type: object - description: The User Firebase Auth Info. - properties: - uid: - type: string - displayName: - type: string - email: - type: string - phoneNumber: - type: string - photoUrl: - type: string - providerId: - type: string - required: - - uid - PurgeCDNCacheContextType: - type: string - description: The type of purge, e.g by tags or hosts - enum: - - tags - - hosts - StaffUserInfo: - type: object - description: The GitBook Staff User info. - properties: - id: - type: string - searchKey: - type: string - required: - - id - - searchKey - UserBackOfficeInfo: - type: object - description: The GitBook User info shown in the BackOffice. - properties: - id: - type: string - riskEvaluation: - $ref: "#/components/schemas/UserRiskEvaluation" - authProviders: - type: array - items: - $ref: "#/components/schemas/FirebaseUserInfo" - createdAt: - type: string - lastSignInAt: - type: string - disabled: - type: boolean - required: - - id - - riskEvaluation - - authProviders - - createdAt - - lastSignInAt - - disabled - UserImpersonation: - type: object - description: The info returned when impersonating a GitBook User. - allOf: - - $ref: "#/components/schemas/UserBackOfficeInfo" - - type: object - properties: - impersonation: - $ref: "#/components/schemas/UserImpersonationInfo" - required: - - impersonation - UserImpersonationInfo: - type: object - description: The GitBook User impersonation info. - properties: - authURL: - type: string - impersonatorId: - type: string - required: - - authURL - - impersonatorId - UserRiskEvaluation: - type: object - description: The GitBook User risk evaluation. - properties: - wasRisky: - description: True if the user was originally considered as risky - type: boolean - isRisky: - description: True if the user is currently considered as risky - type: boolean - isVerified: - description: True if the user went through the verification process - type: boolean - riskScore: - description: Risk score of the user - type: number - completedSteps: - description: Number of verification steps completed by the user - type: number - expectedSteps: - description: Total number of verification steps expected - type: number - googleLogin: - description: User completed the Google Account verification step - type: boolean - githubLogin: - description: User completed the GitHub Account verification step - type: boolean - emailVerified: - description: User completed the Email verification step - type: boolean - activeDaysRemaining: - type: number - required: - - wasRisky - - isRisky - - isVerified - - riskScore - - completedSteps - - expectedSteps - - googleLogin - - githubLogin - - emailVerified - - activeDaysRemaining - HiveAccessToken: - type: object - description: JWT tokens to authenticate in Hive for all content. - properties: - contents: - type: object - additionalProperties: - description: The Hive JWT access token. - type: string - required: - - contents - UnsplashImage: - type: object - required: - - kind - - id - - description - - downloadLocation - - urls - - author - properties: - kind: - type: string - enum: - - unsplash_image - id: - type: string - description: - type: string - downloadLocation: - type: string - urls: - type: object - properties: - full: - type: string - small: - type: string - required: - - full - - small - author: - type: object - properties: - name: - type: string - url: - type: string - required: - - name - - url - APITemporaryToken: - type: object - properties: - token: - type: string - description: Temporary access token to authenticate with the API - required: - - token - ContentKitContext: - oneOf: - - type: object - properties: - type: - type: string - enum: - - document - editable: - type: boolean - theme: - type: string - enum: - - dark - - light - required: - - type - - editable - - theme - ContentKitDynamicBinding: - type: object - description: Binding between a property and a state value. - properties: - $state: - type: string - description: Key in the state - required: - - $state - ContentKitBlock: - type: object - description: Higher level element to represent a custom block. - properties: - type: - type: string - enum: - - block - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - controls: - type: array - items: - oneOf: - - $ref: "#/components/schemas/ContentKitBlockControl" - - type: array - items: - $ref: "#/components/schemas/ContentKitBlockControl" - required: - - type - - children - ContentKitBlockControl: - type: object - description: Control menu item displayed for the block. - properties: - icon: - $ref: "#/components/schemas/ContentKitIcon" - label: - type: string - onPress: - $ref: "#/components/schemas/ContentKitAction" - confirm: - $ref: "#/components/schemas/ContentKitConfirm" - required: - - label - - onPress - ContentKitButton: - type: object - description: Pressable button triggering an action. - properties: - type: - type: string - enum: - - button - style: - type: string - enum: - - primary - - secondary - - danger - onPress: - $ref: "#/components/schemas/ContentKitAction" - icon: - $ref: "#/components/schemas/ContentKitIcon" - label: - type: string - tooltip: - type: string - confirm: - $ref: "#/components/schemas/ContentKitConfirm" - disabled: - type: boolean - required: - - type - - onPress - ContentKitTextInput: - type: object - description: Text input to prompt the user. - properties: - type: - type: string - enum: - - textinput - state: - description: State binding. The value of the input will be stored as a property in the state named after this ID. - type: string - initialValue: - description: Text value to initialize the input with. - type: string - placeholder: - description: Text that appears in the form control when it has no value set - type: string - multiline: - type: boolean - required: - - type - - state - ContentKitText: - type: object - description: Low level text element. - properties: - type: - type: string - enum: - - text - style: - type: string - enum: - - bold - - italic - - code - - strikethrough - children: - type: array - items: - oneOf: - - type: string - - $ref: "#/components/schemas/ContentKitText" - required: - - type - - children - ContentKitBox: - type: object - properties: - type: - type: string - enum: - - box - grow: - description: specifies how much of the remaining space in the container should be assigned to the element - type: number - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - required: - - type - - children - ContentKitHStack: - type: object - description: Horizontal stack of boxes. - properties: - type: - type: string - enum: - - hstack - align: - type: string - default: start - enum: - - start - - center - - end - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - required: - - type - - children - ContentKitVStack: - type: object - description: Vertical stack of boxes. - properties: - type: - type: string - enum: - - vstack - align: - type: string - default: start - enum: - - start - - center - - end - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - required: - - type - - children - ContentKitDivider: - type: object - description: Divider between 2 boxes in a stack. - properties: - type: - type: string - enum: - - divider - size: - type: string - enum: - - small - - medium - - large - required: - - type - ContentKitAction: - anyOf: - - type: object - description: Custom action to re-render the block. - properties: - action: - type: string - additionalProperties: true - required: - - action - - $ref: "#/components/schemas/ContentKitDefaultAction" - 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: - type: object - 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: - type: object - 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: - type: object - required: - - action - - props - ContentKitIcon: - type: string - enum: - - close - - edit - - github - - maximize - - email - - settings - - search - - delete - - star - - warning - - link - - link-external - ContentKitModal: - type: object - description: Overlay modal. - properties: - type: - type: string - enum: - - modal - title: - type: string - subtitle: - type: array - items: - $ref: "#/components/schemas/ContentKitInlineElement" - size: - type: string - enum: - - medium - - xlarge - - fullscreen - returnValue: - description: Data passed back to the parent view when the modal is closed. These data are accessible in the "@ui.modal.close" - type: object - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - submit: - $ref: "#/components/schemas/ContentKitButton" - required: - - type - - children - ContentKitWebFrame: - type: object - description: Frame for a webpage - properties: - type: - type: string - enum: - - webframe - aspectRatio: - type: number - description: Ratio between width and height. Used to size the webframe. - source: - type: object - description: Content to load in the frame. - properties: - url: - type: string - required: - - url - buttons: - type: array - description: Controls button shown as an overlay in a corner of the frame. - items: - $ref: "#/components/schemas/ContentKitButton" - data: - type: object - description: Data to communicated to the webframe's content. Each state update will cause the webframe to receive a message. - additionalProperties: - oneOf: - - type: string - - $ref: "#/components/schemas/ContentKitDynamicBinding" - required: - - type - - source - ContentKitCodeBlock: - type: object - description: Code block with syntax highlighting - properties: - type: - type: string - enum: - - codeblock - content: - oneOf: - - $ref: "#/components/schemas/ContentKitDynamicBinding" - - type: string - description: Code content to display - syntax: - description: "Syntax to use for highlighting (ex: javascript, python)" - type: string - lineNumbers: - oneOf: - - type: boolean - - type: number - description: Line number to start at. - buttons: - type: array - description: Controls button shown as an overlay in a corner of the code block. - items: - $ref: "#/components/schemas/ContentKitButton" - state: - description: State binding when editable. The value of the input will be stored as a property in the state named after this ID. - type: string - onContentChange: - $ref: "#/components/schemas/ContentKitAction" - header: - type: array - description: Header displayed before the code lines - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - footer: - type: array - description: Footer displayed after the code lines - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - required: - - type - - content - ContentKitRenderOutput: - type: object - description: Output of the integration when rendering an UI. - properties: - element: - $ref: "#/components/schemas/ContentKitRootElement" - state: - type: object - props: - type: object - required: - - element - - state - - props - ContentKitMarkdown: - type: object - description: Block with rich text formatting of a markdown content. - properties: - type: - type: string - enum: - - markdown - content: - oneOf: - - $ref: "#/components/schemas/ContentKitDynamicBinding" - - type: string - description: Markdown content to display - required: - - type - - content - ContentKitCard: - type: object - properties: - type: - type: string - enum: - - card - title: - type: string - hint: - oneOf: - - type: string - - type: array - items: - $ref: "#/components/schemas/ContentKitInlineElement" - icon: - oneOf: - - $ref: "#/components/schemas/ContentKitIcon" - - $ref: "#/components/schemas/ContentKitImage" - onPress: - $ref: "#/components/schemas/ContentKitAction" - children: - type: array - items: - $ref: "#/components/schemas/ContentKitDescendantElement" - buttons: - type: array - description: Buttons displayed in the top right corner of the card. - items: - $ref: "#/components/schemas/ContentKitButton" - required: - - type - ContentKitImage: - type: object - properties: - type: - type: string - enum: - - image - source: - type: object - properties: - url: - type: string - format: uri - required: - - url - aspectRatio: - type: number - required: - - type - - source - - aspectRatio - ContentKitInput: - type: object - description: Field for an input. - properties: - type: - type: string - enum: - - input - label: - type: string - description: Text label displayed next to the input. - hint: - oneOf: - - type: string - - $ref: "#/components/schemas/ContentKitInlineElement" - element: - oneOf: - - $ref: "#/components/schemas/ContentKitTextInput" - - $ref: "#/components/schemas/ContentKitSelect" - - $ref: "#/components/schemas/ContentKitSwitch" - - $ref: "#/components/schemas/ContentKitRadio" - - $ref: "#/components/schemas/ContentKitCheckbox" - - $ref: "#/components/schemas/ContentKitButton" - required: - - type - - label - - element - ContentKitSelectOption: - type: object - description: An individual option in a select element - properties: - id: - type: string - label: - type: string - required: - - id - - label - ContentKitSelect: - type: object - description: Creates a drop down menu with a list of options for a user to choose. - properties: - type: - type: string - enum: - - select - state: - description: State binding. The value of the input will be stored as a property in the state named after this ID. - type: string - initialValue: - description: Value to initialize the select with. - oneOf: - - type: string - - type: array - items: - type: string - placeholder: - description: Text that appears in the form control when it has no value set - type: string - multiple: - description: Should the select accept the selection of multiple options. If true, the state will be an array. - type: boolean - options: - oneOf: - - type: array - description: Static list of options - items: - $ref: "#/components/schemas/ContentKitSelectOption" - - type: object - description: External source of options. The URL should respond with an array of options. - properties: - url: - type: string - required: - - url - required: - - type - - state - - options - ContentKitSwitch: - type: object - description: Renders a boolean input. - properties: - type: - type: string - enum: - - switch - state: - description: State binding. The value of the input will be stored as a property in the state named after this ID. - type: string - initialValue: - description: Value to initialize the switch with. - type: boolean - confirm: - $ref: "#/components/schemas/ContentKitConfirm" - required: - - type - - state - ContentKitCheckbox: - type: object - properties: - type: - type: string - enum: - - checkbox - state: - description: State binding. The value of the input will be stored as a property in the state named after this ID. - type: string - value: - description: Value to store in a state array when the checkbox is selected. - oneOf: - - type: string - - type: number - confirm: - $ref: "#/components/schemas/ContentKitConfirm" - required: - - type - - state - - value - ContentKitRadio: - type: object - properties: - type: - type: string - enum: - - radio - state: - description: State binding. The value of the input will be stored as a property in the state named after this ID. - type: string - value: - description: Value to store in th state when the checkbox is selected. - oneOf: - - type: string - - type: number - confirm: - $ref: "#/components/schemas/ContentKitConfirm" - required: - - type - - state - - value - ContentKitConfirm: - type: object - description: A confirm object that defines an optional confirmation dialog after the input is clicked. - properties: - title: - type: string - description: A text value that defines the dialog's title. - maxLength: 100 - text: - type: string - description: A text value that defines the explanatory text that appears in the confirm dialog. - maxLength: 300 - confirm: - type: string - description: A text value to define the text of the button that confirms the action. - maxLength: 30 - style: - type: string - enum: - - primary - - danger - required: - - title - - text - - confirm - ContentKitRootElement: - description: Element used as root - oneOf: - - $ref: "#/components/schemas/ContentKitBlock" - - $ref: "#/components/schemas/ContentKitModal" - discriminator: - propertyName: type - ContentKitDescendantElement: - description: Any element that can be used as children. - oneOf: - - $ref: "#/components/schemas/ContentKitButton" - - $ref: "#/components/schemas/ContentKitTextInput" - - $ref: "#/components/schemas/ContentKitHStack" - - $ref: "#/components/schemas/ContentKitVStack" - - $ref: "#/components/schemas/ContentKitBox" - - $ref: "#/components/schemas/ContentKitDivider" - - $ref: "#/components/schemas/ContentKitWebFrame" - - $ref: "#/components/schemas/ContentKitCodeBlock" - - $ref: "#/components/schemas/ContentKitMarkdown" - - $ref: "#/components/schemas/ContentKitCard" - - $ref: "#/components/schemas/ContentKitImage" - - $ref: "#/components/schemas/ContentKitInput" - - $ref: "#/components/schemas/ContentKitSelect" - - $ref: "#/components/schemas/ContentKitSwitch" - - $ref: "#/components/schemas/ContentKitCheckbox" - - $ref: "#/components/schemas/ContentKitRadio" - - $ref: "#/components/schemas/ContentKitText" - discriminator: - propertyName: type - ContentKitInlineElement: - description: Any element that is inline. - oneOf: - - $ref: "#/components/schemas/ContentKitText" - - $ref: "#/components/schemas/ContentKitImage" - discriminator: - propertyName: type - SubscriptionChannel: - description: Channel to subscribe to for API updates. - oneOf: - - $ref: "#/components/schemas/SpaceInfoChannel" - - $ref: "#/components/schemas/SpacePublishingAuthChannel" - - $ref: "#/components/schemas/BackofficeUserInfoChannel" - discriminator: - propertyName: channel - SpaceInfoChannel: - type: object - properties: - channel: - type: string - enum: - - space - space: - type: string - required: - - channel - - space - SpacePublishingAuthChannel: - type: object - properties: - channel: - type: string - enum: - - space-publishing-auth - space: - type: string - required: - - channel - - space - BackofficeUserInfoChannel: - type: object - properties: - channel: - type: string - enum: - - backoffice-user-info - user: - type: string - required: - - channel - - user - responses: - UnexpectedError: - description: Unexpected Error - content: - application/json: - schema: - $ref: "#/components/schemas/Error" - BadRequestError: - description: Bad Request - content: - application/json: - schema: - type: object - required: - - error - properties: - error: - type: object - properties: - code: - type: integer - format: int32 - enum: - - 400 - message: - type: string - required: - - code - - message - NotFoundError: - description: Not Found - content: - application/json: - schema: - type: object - required: - - error - properties: - error: - type: object - properties: - code: - type: integer - format: int32 - enum: - - 404 - message: - type: string - required: - - code - - message - ContentFilesResponse: - description: OK - content: - application/json: - schema: - allOf: - - $ref: "#/components/schemas/List" - - type: object - required: - - items - properties: - items: - type: array - items: - $ref: "#/components/schemas/RevisionFile" -paths: - /: - get: - operationId: getApiInformation - tags: - - api - summary: Get information about the state of the GitBook API - description: Access the release version and build date of the GitBook codebase - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ApiInformation" - default: - $ref: "#/components/responses/UnexpectedError" - /search: - get: - operationId: searchContent - summary: Search content across spaces that is accessible by the currently authenticated target - tags: - - search - security: - - user: [] - parameters: - - name: query - in: query - required: true - 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/SearchSpaceResult" - default: - $ref: "#/components/responses/UnexpectedError" - /search/ask: - get: - operationId: askQueryWithGet - summary: Ask a question to an AI across spaces that is accessible by the currently authenticated target. - deprecated: true - security: - - user: [] - parameters: - - name: query - in: query - required: true - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - properties: - answer: - $ref: "#/components/schemas/SearchAIAnswer" - default: - $ref: "#/components/responses/UnexpectedError" - post: - operationId: askQuery - summary: Ask a question to an AI across spaces that is accessible by the currently authenticated target. - security: - - user: [] - 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" - default: - $ref: "#/components/responses/UnexpectedError" - /search/questions: - post: - operationId: getRecommendedQuestions - summary: Get a list of questions recommended by AI for a list of content. - security: - - user: [] - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - documents: - type: array - minItems: 1 - maxItems: 50 - items: - type: string - minLength: 1 - maxLength: 100 - required: - - documents - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/SearchAIRecommendedQuestions" - default: - $ref: "#/components/responses/UnexpectedError" - /user: - get: - operationId: getAuthenticatedUser - summary: Get profile of authenticated user - tags: - - users - security: - - user: [] - description: | - Returns details about the user associated with the authentication provided in the request's authorization header. - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/User" - default: - $ref: "#/components/responses/UnexpectedError" - /user/spaces: - get: - operationId: listSpacesForAuthenticatedUser - summary: List spaces for the authenticated user - description: | - Lists spaces that the authenticated user explicitly own. - tags: - - users - 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 - required: - - items - properties: - items: - type: array - items: - $ref: "#/components/schemas/Space" - default: - $ref: "#/components/responses/UnexpectedError" - "/users/{userId}": - get: - operationId: getUserById - summary: Get a user by its ID - tags: - - users - security: - - user: [] - description: | - Provides publicly available information about someone with a GitBook account. - parameters: - - $ref: "#/components/parameters/userId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/User" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}": - get: - operationId: getSpaceById - summary: Get the details about a space. - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/Space" - default: - $ref: "#/components/responses/UnexpectedError" - patch: - operationId: updateSpaceById - summary: Update the details of a space - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - visibility: - $ref: "#/components/schemas/ContentVisibility" - responses: - "200": - description: The space has been updated - content: - application/json: - schema: - $ref: "#/components/schemas/Space" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/search": - get: - operationId: searchSpaceContent - summary: Search content in a space - security: - - user: [] - parameters: - - name: query - in: query - required: true - schema: - type: string - - $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" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/search/ask": - get: - operationId: askQueryInSpaceWithGet - summary: Ask a question to an AI within the context of the space. - deprecated: true - parameters: - - name: query - in: query - required: true - schema: - type: string - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - properties: - answer: - $ref: "#/components/schemas/SearchAIAnswer" - default: - $ref: "#/components/responses/UnexpectedError" - post: - operationId: askQueryInSpace - summary: Ask a question to an AI within the context of the space. - parameters: - - $ref: "#/components/parameters/spaceId" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/search/questions": - get: - operationId: getRecommendedQuestionsInSpace - summary: Get a list of questions that can be asked in a space. - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/SearchAIRecommendedQuestions" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/git/import": - post: - operationId: importGitRepository - summary: Import a Git repository - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "204": - description: Operation to import the repository has been started. - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestImportGitRepository" - "/spaces/{spaceId}/git/export": - post: - operationId: exportToGitRepository - summary: Export the space content to a Git repository. - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "204": - description: Operation to export the space has been started. - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestExportToGitRepository" - "/spaces/{spaceId}/insights/content": - get: - operationId: getContentAnalyticsForSpaceById - summary: Get content analytics for a given space. - tags: - - analytics - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: Content analytics per page. - content: - application/json: - schema: - $ref: "#/components/schemas/AnalyticsContentPages" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/insights/search": - get: - operationId: getSearchAnalyticsForSpaceById - summary: Get an overview of the top search queries in a space. - tags: - - analytics - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - name: period - required: false - in: query - schema: - $ref: "#/components/schemas/AnalyticsSearchPeriod" - responses: - "200": - description: Top queries searched on this space. - content: - application/json: - schema: - $ref: "#/components/schemas/AnalyticsTopSearches" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/insights/traffic": - get: - operationId: getTrafficAnalyticsForSpaceById - summary: Get traffic page views for a given space - description: Get the total number of views and breakdown per day or week for the last 14 days. Timestamps are aligned to UTC midnight of the beginning of the day or week. Week begins on Monday. - tags: - - analytics - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - name: interval - required: false - in: query - schema: - $ref: "#/components/schemas/AnalyticsTrafficInterval" - responses: - "200": - description: Traffic over time for the given space. - content: - application/json: - schema: - $ref: "#/components/schemas/AnalyticsTrafficPageViews" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/insights/track_view": - post: - operationId: trackViewInSpaceById - description: Track a page view in a space. - tags: - - analytics - - spaces - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "204": - description: Page view has been tracked. - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestSpaceTrackPageView" - "/spaces/{spaceId}/content": - get: - operationId: getCurrentRevision - summary: Get the current primary content revision for a space - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/Revision" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/content/import": - post: - summary: Import content in a space. - operationId: importContent - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "201": - description: Content imported in a new revision - headers: - Location: - description: API URL for the newly created revision - schema: - type: string - content: - application/json: - schema: - $ref: "#/components/schemas/ImportContentResult" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestImportContent" - "/spaces/{spaceId}/content/files": - get: - summary: List all files for the latest primary revision content for a space - operationId: listFiles - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - responses: - "200": - $ref: "#/components/responses/ContentFilesResponse" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/content/page/{pageId}": - get: - operationId: getPageById - summary: Get a page by its ID in the primary content. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/pageId" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/RevisionPage" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/content/page/{pageId}/import": - post: - operationId: importContentInPageById - summary: Import external content into a page by its ID. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/pageId" - responses: - "201": - description: Content imported in a new revision - headers: - Location: - description: API URL for the newly created revision - schema: - type: string - content: - application/json: - schema: - $ref: "#/components/schemas/ImportContentResult" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestImportContent" - "/spaces/{spaceId}/content/path/{pagePath}": - get: - operationId: getPageByPath - summary: Get a page by its path in the primary content. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/pagePath" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageGroup" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests": - post: - operationId: createChangeRequest - summary: Create a new change request for a space. - tags: - - spaces - 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: - allOf: - - $ref: "#/components/schemas/ChangeRequest" - - type: object - properties: - changeRequest: - type: string - deprecated: true - required: - - changeRequest - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestCreateChangeRequest" - "/spaces/{spaceId}/change-requests/{changeRequestId}/merge": - post: - operationId: mergeChangeRequest - summary: Merge a change request in the primary content of a space. - tags: - - spaces - 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 - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests/{changeRequestId}/update": - post: - operationId: updateChangeRequest - summary: Update a change-request with changes from primary content. - tags: - - spaces - 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 - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content": - get: - operationId: getRevisionOfChangeRequestById - summary: Get the latest content revision for a change request. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/Revision" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/import": - post: - summary: Import content in a change request. - operationId: importContentInChangeRequest - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - responses: - "201": - description: Content imported in a new revision - headers: - Location: - description: API URL for the newly created revision - schema: - type: string - content: - application/json: - schema: - $ref: "#/components/schemas/ImportContentResult" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestImportContent" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/files": - get: - summary: List all files in the latest content of the change-request - operationId: listFilesInChangeRequestById - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - responses: - "200": - $ref: "#/components/responses/ContentFilesResponse" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}": - get: - operationId: getPageInChangeRequestById - summary: Get a page by its ID in a change request. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - - $ref: "#/components/parameters/pageId" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/RevisionPage" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/page/{pageId}/import": - post: - operationId: importContentInChangeRequestPageById - summary: Import external content into a page of a change-request by its ID. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - - $ref: "#/components/parameters/pageId" - responses: - "201": - description: Content imported in a new revision - headers: - Location: - description: API URL for the newly created revision - schema: - type: string - content: - application/json: - schema: - $ref: "#/components/schemas/ImportContentResult" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestImportContent" - "/spaces/{spaceId}/change-requests/{changeRequestId}/content/path/{pagePath}": - get: - operationId: getPageInChangeRequestByPath - summary: Get a page by its path in a change request. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/changeRequestId" - - $ref: "#/components/parameters/pagePath" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageGroup" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/revisions/{revisionId}": - get: - operationId: getRevisionById - summary: Get a specific revision in a space - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/revisionId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/Revision" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/revisions/{revisionId}/files": - get: - summary: List all files in a revision - operationId: listFilesInRevisionById - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/revisionId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - responses: - "200": - $ref: "#/components/responses/ContentFilesResponse" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/revisions/{revisionId}/page/{pageId}": - get: - operationId: getPageInRevisionById - summary: Get a page by its ID in a revision. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/revisionId" - - $ref: "#/components/parameters/pageId" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/RevisionPage" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/revisions/{revisionId}/path/{pagePath}": - get: - operationId: getPageInRevisionByPath - summary: Get a page by its path in a revision. - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/revisionId" - - $ref: "#/components/parameters/pagePath" - - $ref: "#/components/parameters/pageFormat" - responses: - "200": - description: OK - content: - application/json: - schema: - oneOf: - - $ref: "#/components/schemas/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageGroup" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/permissions/aggregate": - get: - operationId: listPermissionsAggregateInSpace - summary: List permissions for all users in a space. - tags: - - permissions - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/spaces/{spaceId}/publishing/auth": - get: - operationId: getSpacePublishingAuthById - summary: Get the publishing authentication configuration for a space. - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContentPublishingAuth" - "400": - $ref: "#/components/responses/BadRequestError" - default: - $ref: "#/components/responses/UnexpectedError" - post: - operationId: updateSpacePublishingAuthById - summary: Update the publishing authentication configuration for a space. - tags: - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/spaceId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestUpdateContentPublishingAuth" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContentPublishingAuth" - "400": - $ref: "#/components/responses/BadRequestError" - default: - $ref: "#/components/responses/UnexpectedError" - "/collections/{collectionId}": - get: - operationId: getCollectionById - summary: Get the details about a collection using its ID - tags: - - collections - security: - - user: [] - parameters: - - $ref: "#/components/parameters/collectionId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/Collection" - default: - $ref: "#/components/responses/UnexpectedError" - patch: - operationId: updateCollectionById - summary: Update the details of a collection - tags: - - collections - security: - - user: [] - parameters: - - $ref: "#/components/parameters/collectionId" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - visibility: - $ref: "#/components/schemas/ContentVisibility" - responses: - "200": - description: The collection has been updated - content: - application/json: - schema: - $ref: "#/components/schemas/Collection" - default: - $ref: "#/components/responses/UnexpectedError" - "/collections/{collectionId}/spaces": - get: - operationId: listSpacesInCollectionById - summary: List all the spaces in a collection by its ID. - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/collections/{collectionId}/permissions/aggregate": - get: - operationId: listPermissionsAggregateInCollection - summary: List permissions for all users in a collection. - tags: - - permissions - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/collectionId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/collections/{collectionId}/publishing/auth": - get: - operationId: getCollectionPublishingAuthById - summary: Get the publishing authentication configuration for a collection. - tags: - - collections - security: - - user: [] - parameters: - - $ref: "#/components/parameters/collectionId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContentPublishingAuth" - "400": - $ref: "#/components/responses/BadRequestError" - default: - $ref: "#/components/responses/UnexpectedError" - post: - operationId: updateCollectionPublishingAuthById - summary: Update the publishing authentication configuration for a collection. - tags: - - collections - security: - - user: [] - parameters: - - $ref: "#/components/parameters/collectionId" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestUpdateContentPublishingAuth" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/ContentPublishingAuth" - "400": - $ref: "#/components/responses/BadRequestError" - default: - $ref: "#/components/responses/UnexpectedError" - /integrations: - get: - operationId: listIntegrations - summary: List all public integrations - tags: - - integrations - parameters: - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}": - get: - operationId: getIntegrationByName - summary: Get a specific 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" - default: - $ref: "#/components/responses/UnexpectedError" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestPublishIntegration" - delete: - operationId: unpublishIntegration - summary: Unpublish an integration - tags: - - integrations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/integrationName" - responses: - "204": - description: Integration has been deleted - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/installations": - get: - operationId: listIntegrationInstallations - summary: Fetch a list of installations of an integration - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/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" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/events/{eventId}": - get: - operationId: getIntegrationEvent - summary: Get a specific integration event by its id - tags: - - integrations - parameters: - - $ref: "#/components/parameters/integrationName" - - name: eventId - in: path - required: true - description: ID of the integration event - schema: - type: string - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/spaces": - get: - operationId: listIntegrationSpaceInstallations - summary: Fetch a list of space installations of an integration - 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/IntegrationSpaceInstallation" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/spaces/{spaceId}/dev": - put: - operationId: updateIntegrationDevSpace - summary: Update the development space for an integration - tags: - - integrations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/integrationName" - - $ref: "#/components/parameters/spaceId" - 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 - required: - - tunnelUrl - responses: - "204": - description: Updated development space successfully - "404": - $ref: "#/components/responses/NotFoundError" - default: - $ref: "#/components/responses/UnexpectedError" - delete: - operationId: removeIntegrationDevSpace - summary: Remove the development space for an integration - tags: - - integrations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/integrationName" - - $ref: "#/components/parameters/spaceId" - responses: - "204": - description: Removed development space successfully - "404": - description: No matching integration dev space found - $ref: "#/components/responses/NotFoundError" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/render": - get: - operationId: renderIntegrationUIWithGet - summary: Render an integration UI in the context of an installation. - 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 - default: - $ref: "#/components/responses/UnexpectedError" - post: - operationId: renderIntegrationUIWithPost - summary: Render an integration UI in the context of an installation. - 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 - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestRenderIntegrationUI" - "/integrations/{integrationName}/installations/{installationId}": - patch: - operationId: updateIntegrationInstallation - summary: Update external IDs and configurations of an integration's 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" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestUpdateIntegrationInstallation" - "/integrations/{integrationName}/installations/{installationId}/tokens": - post: - operationId: createIntegrationInstallationToken - summary: Create an integration installation API token - description: | - Creates a temporary API token of an integration's installation that has access to the installation and it's scopes. You must be authenticated as the integration to obtain this token. - tags: - - integrations - security: - - integration: [] - parameters: - - $ref: "#/components/parameters/integrationName" - - $ref: "#/components/parameters/installationId" - responses: - "200": - description: The API token for the installation - content: - application/json: - schema: - $ref: "#/components/schemas/APITemporaryToken" - "404": - description: Installation could not be found - $ref: "#/components/responses/NotFoundError" - default: - $ref: "#/components/responses/UnexpectedError" - "/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}": - patch: - operationId: updateIntegrationSpaceInstallation - summary: Update external IDs and configurations of an integration's installation for a space - parameters: - - $ref: "#/components/parameters/integrationName" - - $ref: "#/components/parameters/installationId" - - $ref: "#/components/parameters/spaceId" - responses: - "200": - description: The space installation has been updated. - content: - application/json: - schema: - $ref: "#/components/schemas/IntegrationSpaceInstallation" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestUpdateIntegrationInstallation" - /orgs: - get: - operationId: listOrganizationsForAuthenticatedUser - summary: Get the list of organizations for the currently authenticated user - tags: - - organizations - 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 - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/members": - get: - operationId: listMembersInOrganizationById - summary: List organization members - description: | - Lists members for the specified organization. - tags: - - organizations - 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/OrganizationMember" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/members/{userId}": - get: - operationId: getMemberInOrganizationById - summary: Get specified organization member - description: | - Gets a specific member in an organization. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/userId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/OrganizationMember" - default: - $ref: "#/components/responses/UnexpectedError" - patch: - operationId: updateMemberInOrganizationById - summary: Update specified organization member - description: | - Updates a specific member in an organization. - tags: - - organizations - 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" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - role: - $ref: "#/components/schemas/MemberRoleOrGuest" - delete: - operationId: removeMemberFromOrganizationById - summary: Delete a member from an organization - description: | - Deletes a specific member from an organization - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/userId" - responses: - "204": - description: The member was deleted from the organization. - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/members/{userId}/sso": - post: - operationId: setUserAsSSOMemberForOrganization - summary: Set a user as an SSO member of an organization - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/userId" - responses: - "204": - description: The user has been added as an SSO member of the organization. - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/members/{userId}/spaces": - get: - operationId: listSpacesForOrganizationMember - summary: List permissions accross all spaces for a member of an organization - tags: - - permissions - - spaces - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/userId" - - $ref: "#/components/parameters/listPage" - - $ref: "#/components/parameters/listLimit" - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/teams": - get: - operationId: listTeamsInOrganizationById - summary: List organization teams - description: | - Lists teams for the specified organization. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $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: - $ref: "#/components/schemas/OrganizationTeam" - default: - $ref: "#/components/responses/UnexpectedError" - put: - operationId: createOrganizationTeam - summary: Create organization team - description: | - Creates a team in the specified organization. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "201": - description: Team has been created - content: - application/json: - schema: - $ref: "#/components/schemas/OrganizationTeam" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - title: Title for the new team. - members: - type: array - items: - type: string - required: - - title - "/orgs/{organizationId}/teams/{teamId}": - get: - operationId: getTeamInOrganizationById - summary: Get specified organization team - description: | - Gets a specific team in an organization. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/teamId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/OrganizationTeam" - default: - $ref: "#/components/responses/UnexpectedError" - patch: - operationId: updateTeamInOrganizationById - summary: Update specified organization team - description: | - Updates a specific team in an organization. - tags: - - organizations - 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" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - title: - type: string - required: - - title - delete: - operationId: removeTeamFromOrganizationById - summary: Delete a team in an organization - description: | - Deletes a specific team in an organization - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/teamId" - responses: - "204": - description: The team was deleted from the organization. - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/teams/{teamId}/members": - put: - operationId: updateMembersInOrganizationTeam - summary: Updates members of an organization team - description: | - Updates members of an organization team, either adding or removing them. If a the same user is included as both an add and a remove, they will be removed from the team. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/teamId" - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - add: - type: array - items: - type: string - description: A user to add. It can either be a user ID or an email. - remove: - type: array - items: - type: string - description: A user to remove. It can either be a user ID or an email. - responses: - "204": - description: Members have been updated - default: - $ref: "#/components/responses/UnexpectedError" - get: - operationId: listTeamMembersInOrganizationById - summary: List team members - description: | - Lists members for the specified organization team. - tags: - - organizations - 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/OrganizationMember" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/teams/{teamId}/members/{userId}": - put: - operationId: addMemberToOrganizationTeamById - summary: Add member to a team - description: | - Adds member into the specified organization team. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/teamId" - - $ref: "#/components/parameters/userId" - responses: - "204": - description: Member has been added to the team - default: - $ref: "#/components/responses/UnexpectedError" - delete: - operationId: deleteMemberFromOrganizationTeamById - summary: Delete members from a team - description: | - Deletes member from the specified organization team. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - $ref: "#/components/parameters/teamId" - - $ref: "#/components/parameters/userId" - responses: - "204": - description: Member has been deleted from the team - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/invites": - post: - operationId: inviteUsersToOrganization - summary: Invite users to a given organization based on a list of emails - tags: - - organizations - 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" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestInviteUsersToOrganization" - "/orgs/{organizationId}/invites/{inviteId}": - post: - operationId: joinOrganizationWithInvite - summary: Use an invite to join an organization. - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - - name: inviteId - in: path - required: true - description: The unique id of the invite - schema: - type: string - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - properties: {} - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/billing": - post: - operationId: upgradeOrganizationPlan - summary: Upgrade an organization's billing plan - tags: - - organizations - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/BillingUpgrade" - default: - $ref: "#/components/responses/UnexpectedError" - requestBody: - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/RequestUpgradeOrganizationBilling" - get: - operationId: getOrganizationBillingPortal - summary: Get the billing portal for an organization - tags: - - organizations - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "200": - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/BillingPortal" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/request_upgrade": - post: - operationId: requestOrganizationUpgrade - summary: Send a request to ask the organization's admin to upgrade it. - tags: - - organizations - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - properties: {} - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/transfer": - post: - operationId: transferOrganization - summary: Transfer one organization (source) into another organization (target). - tags: - - organizations - security: - - user: [] - parameters: - - $ref: "#/components/parameters/organizationId" - requestBody: - required: true - content: - application/json: - schema: - type: object - required: - - source - properties: - source: - type: string - description: The unique id of the organization to transfer into the current one. - defaultOrgRole: - description: Determine the default role members of the source org will have when they are transferred into the target org. Defaults to null, which means no access. - oneOf: - - $ref: "#/components/schemas/MemberRoleOrGuest" - - type: string - description: Use SAML's default role for transferred members. - enum: - - saml - responses: - "200": - description: OK - content: - application/json: - schema: - type: object - required: - - collection - properties: - collection: - type: string - description: The unique id of the collection created in the target organization containing the content of the source organization. - newSourceHostname: - type: string - description: The new hostname if the source organization needed to change hostname. - default: - $ref: "#/components/responses/UnexpectedError" - "/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 - - $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" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/spaces": - get: - operationId: listSpacesInOrganizationById - summary: List organization spaces - description: | - Lists spaces for the specified organization. - tags: - - organizations - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/collections": - get: - operationId: listCollectionsInOrganizationById - summary: List organization collections - description: | - Lists collections for the specified organization. - tags: - - organizations - 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" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/dsync": - post: - operationId: setupDirectorySync - summary: Set up Directory Sync in an organization. - tags: - - organizations - - dsync - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "200": - description: Directory Sync has been properly initialized for the organization. - content: - application/json: - schema: - type: object - required: - - setupUrl - properties: - setupUrl: - description: The URL to navigate to to continue Directory Sync setup. - type: string - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/dsync/groups": - get: - operationId: listDirectorySyncGroups - summary: Lists the groups exposed to the synced Directory on an organization. - tags: - - organizations - - dsync - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - responses: - "200": - description: | - A list of all of a Directory's group configured for the given identity provider. - Only groups pushed to the SCIM sync will be listed in this result. - content: - application/json: - schema: - type: object - description: All the groups. - required: - - groups - properties: - groups: - type: array - items: - $ref: "#/components/schemas/OrganizationDirectorySyncGroup" - default: - $ref: "#/components/responses/UnexpectedError" - "/orgs/{organizationId}/dsync/teams": - post: - operationId: syncDirectorySyncGroupsToTeams - summary: Syncs a list of group/team unique identifiers pairs together. - description: | - Each pair will lead the team being synced to the group (unless it is already synced to another) and the members of the group will then be synced to the team. - Each sync is independent, the endpoint will still succeed if some of the syncs fail. - Check the response to know more about the success or failure of the entire sync. - tags: - - organizations - - dsync - security: - - user-internal: [] - parameters: - - $ref: "#/components/parameters/organizationId" - requestBody: - required: true - content: - application/json: - schema: - type: object - description: | - Parameters for syncing a list of Directory Sync groups to a GitBook team, syncing all members of those groups to the assigned teams. - The endpoint can be used for one or many groups to team syncs. - required: - - to_sync - properties: - to_sync: - type: array - description: | - A list of groups to teams pairs to sync. - The group_id is required and the team_id is optional. - If the latter is omitted, a new team will be created from the group's data. - items: - type: object - required: - - group_id - properties: - group_id: - type: string - description: The unique identifier of the group for the given identity provider. - team_id: - type: string - description: The unique identifier of the team for the given identity provider. - responses: - "200": - description: | - A list of the results of the synchronization. - This will return regardless of the status of the sync. - Check the content to know if the sync was successful. - content: - application/json: - schema: - type: object - required: - - synced - properties: - synced: - type: array - description: | - The list of synced pairs, mapped to the original pairs given to the sync parameters. - Either the group_id and team_id will be defined, or the error will be defined to describe why it failed. - Use the success parameter to know if the pair sync was sucessful or not. - items: - $ref: "#/components/schemas/OrganizationDirectorySyncGroupTeamStatus" - default: - $ref: "#/components/responses/UnexpectedError" - /internal/hive/token: - post: - operationId: getHiveAccessToken - summary: Returns a token to authenticate with Hive. - tags: - - hive - security: - - user-internal: [] - requestBody: - required: false - content: - application/json: - schema: - type: object - properties: - spaces: - type: array - items: - description: ID of a space, potentially not directly listed in user permissions - type: string - responses: - "200": - description: The JWT to access user's specific content in Hive. - content: - application/json: - schema: - $ref: "#/components/schemas/HiveAccessToken" - default: - $ref: "#/components/responses/UnexpectedError" - /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/RevisionPageSheet" - - $ref: "#/components/schemas/RevisionPageGroup" - required: - - space - default: - $ref: "#/components/responses/UnexpectedError" diff --git a/docs/.gitbook/assets/organization-id.png b/docs/.gitbook/assets/organization-id.png deleted file mode 100644 index 3c328c99c..000000000 Binary files a/docs/.gitbook/assets/organization-id.png and /dev/null differ diff --git a/docs/.gitbook/assets/space-id.png b/docs/.gitbook/assets/space-id.png deleted file mode 100644 index dac258ee6..000000000 Binary files a/docs/.gitbook/assets/space-id.png and /dev/null differ diff --git a/docs/.gitbook/assets/user-id.png b/docs/.gitbook/assets/user-id.png deleted file mode 100644 index 4077dee79..000000000 Binary files a/docs/.gitbook/assets/user-id.png and /dev/null differ