Skip to content

Files

Latest commit

8a9a7e1 · Apr 10, 2025

History

History
106 lines (66 loc) · 6.31 KB

browser-node.md

File metadata and controls

106 lines (66 loc) · 6.31 KB
description icon
GitBook's official Node.js client library.
layer-plus

Client library

Overview

GitBook provides an official TypeScript/JavaScript client for the HTTP API. This client can be used in a browser or Node.js environment.

Installation

You can install the GitBook Node.js library through npm.

npm install @gitbook/api

Usage

General usage:

import { GitBookAPI } from '@gitbook/api';

const client = new GitBookAPI({
  authToken: <your_access_token>
});

Usage with Node.js

When using the @gitbook/api module with Node.js < v18, you should pass a custom fetch function.

You can install one using the node-fetch module.

import { GitBookAPI } from '@gitbook/api';
import fetch from 'node-fetch';

const client = new GitBookAPI({
  customFetch: fetch
});

Reference

Search

The following methods can be found on the client.search object.

Method
searchContent()
askQuery()

User

The following methods can be found on the client.user object.

Method
getAuthenticatedUser()
listSpacesForAuthenticatedUser()

Users

The following methods can be found on the client.users object.

Method
getUserById()

Spaces

The following methods can be found on the client.spaces object.

Method
getSpaceById()
searchSpaceContent()
askQueryInSpace()
importGitRepository()
exportToGitRepository()
getContentAnalyticsForSpaceById()
getSearchAnalyticsForSpaceById()
getTrafficAnalyticsForSpaceById()
trackViewInSpaceById()
getCurrentRevision()
importContent()
listFiles()
getPageById()
importContentInPageById()
getPageByPath()
createChangeRequest()
mergeChangeRequest()
updateChangeRequest()
getRevisionOfChangeRequestById()
importContentInChangeRequest()
listFilesInChangeRequestById()
getPageInChangeRequestById()
importContentInChangeRequestPageById()
getPageInChangeRequestByPath()
getRevisionById()
listFilesInRevisionById()
getPageInRevisionById()
getPageInRevisionByPath()
listPermissionsAggregateInSpace()

Collections

The following methods can be found on the client.collections object.

Method
getCollectionById()
listSpacesInCollectionById()
listPermissionsAggregateInCollection()

Integrations

The following methods can be found on the client.integrations object.

Method
listIntegrations()
getIntegrationByName()
publishIntegration()
unpublishIntegration()
listIntegrationInstallations()
listIntegrationSpaceInstallations()
renderIntegrationUiWithGet()
renderIntegrationUiWithPost()
updateIntegrationInstallation()
createIntegrationInstallationToken()
updateIntegrationSpaceInstallation()

Orgs

The following methods can be found on the client.orgs object.

Method
listOrganizationsForAuthenticatedUser()
listMembersInOrganizationById()
getMemberInOrganizationById()
updateMemberInOrganizationById()
removeMemberFromOrganizationById()
setUserAsSsoMemberForOrganization()
listSpacesForOrganizationMember()
listTeamsInOrganizationById()
createOrganizationTeam()
getTeamInOrganizationById()
updateTeamInOrganizationById()
removeTeamFromOrganizationById()
updateMembersInOrganizationTeam()
listTeamMembersInOrganizationById()
addMemberToOrganizationTeamById()
deleteMemberFromOrganizationTeamById()
inviteUsersToOrganization()
joinOrganizationWithInvite()
upgradeOrganizationPlan()
getOrganizationBillingPortal()
requestOrganizationUpgrade()
transferOrganization()
searchOrganizationContent()
listSpacesInOrganizationById()
listCollectionsInOrganizationById()
setupDirectorySync()
listDirectorySyncGroups()
syncDirectorySyncGroupsToTeams()

Urls

The following methods can be found on the client.urls object.

Method
getContentByUrl()