Skip to main content

GitBook Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a GitBook location.
git_book_api.png

GitBook

  1. Click the + icon on the Nexset that will be sent to the GitBook destination, and select the Send to Destination option from the menu.

  2. Select the GitBook connector from the list of available destination connectors. Then, select the credential that will be used to connect to the GitBook organization, and click Next; or, create a new GitBook credential for use in this flow.

  3. In Nexla, GitBook destinations can be created using pre-built endpoint templates, which expedite destination setup for common GitBook endpoints. Each template is designed specifically for the corresponding GitBook endpoint, making destination setup easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    GitBook destinations can also be configured manually, allowing you to send data to GitBook endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common GitBook endpoints. Each template is designed specifically for the corresponding GitBook endpoint, making destination setup easy and efficient.

Endpoint Settings

  • Select the endpoint to which this destination will send data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your destination for this endpoint.

    Create Space in Organization

    Creates a new GitBook space inside a specified organization, enabling automated documentation space provisioning.

    Use the List Organizations source endpoint to retrieve valid Organization IDs. The space will be created with the authenticated user as the owner.

    Update Space

    Updates the properties and settings of an existing GitBook space, such as its title, visibility, or custom domain.

    Use the List Organization Spaces source endpoint to retrieve valid Space IDs. Only the fields included in the payload will be updated.

    Delete Space

    Archives (deletes) a GitBook space by its unique ID. This action removes the space and all of its content.

    This operation is irreversible. All pages and content within the space will be permanently removed. Ensure you have backed up any necessary content before proceeding.

    Create Page in Space

    Creates a new page inside a specified GitBook space, enabling automated documentation page creation.

    The page is created as a draft within the space. Publish or merge a change request to make the page visible to readers.

    Update Space Page

    Updates the content or metadata of an existing page within a GitBook space.

    Use the Get Space Content source endpoint to retrieve valid Page IDs within a space.

    Delete Space Page

    Permanently deletes a page from a GitBook space by its ID.

    This action is irreversible. Use Get Space Content to retrieve valid Page IDs before proceeding.

    Invite User or Team to Space

    Invites a user or team to a GitBook space with a specified role, enabling automated access management workflows.

    Use the List Organization Members and List Organization Teams source endpoints to retrieve valid user and team identifiers.

    Update Team Permission in Space

    Updates an organization team's role and permission level within a specific GitBook space.

    Use the List Organization Teams source endpoint to retrieve valid team IDs.

    Remove Organization Member

    Removes a member from a GitBook organization, revoking their access to all spaces within that organization.

    This action revokes the member's access to the entire organization. Use the List Organization Members source endpoint to retrieve valid User IDs.

    Create Space Change Request

    Creates a new change request on a GitBook space for staged content editing, enabling review-based documentation workflows.

    Change requests are GitBook's equivalent of branches — they allow staged edits to be reviewed before being merged into the published space content.

    Update Organization

    Updates GitBook organization settings such as title, hostname, default member role, or SSO configuration.

    Use the List Organizations source endpoint to retrieve valid Organization IDs. Only the fields included in the payload will be modified.

    Import Content into Space

    Imports content (Markdown, HTML, or other supported formats) into a GitBook space, enabling bulk documentation migration.

    Refer to the GitBook API Reference for supported content formats and the required payload structure.

    Create Collection

    Creates a new collection within a GitBook organization to group related spaces together.

    Use the List Organizations source endpoint to retrieve valid Organization IDs. Spaces can be added to collections after creation using the Update Space endpoint.

    Remove Space User Permission

    Removes a user's permission from a specific GitBook space, revoking their access to that space.

    This removes the user's direct space-level permission. Organization-level access may still grant the user access if they are an organization member.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can send a test payload to verify the destination is configured correctly.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. A test payload will be sent and the result will be displayed in the Endpoint Test Result panel on the right.

  • If the test result is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again to verify the updated configuration.

Configure Manually

GitBook destinations can also be manually configured to send data to any valid GitBook API endpoint. Using Nexla's GitBook destination, you can push records to the GitBook REST API at https://api.gitbook.com/v1/ to create or update content, manage spaces, import documentation, trigger change requests, and more. You can also configure Nexla to automatically send the response received from the GitBook API after each call to a new Nexla webhook data source.

First, select the API method that will be used for calls to the GitBook API from the Method pulldown menu. Common methods for GitBook destinations include:

  • POST: For creating new spaces, pages, change requests, or importing content into GitBook.
  • PUT: For replacing existing GitBook resources such as page content.
  • PATCH: For making partial updates to existing GitBook resources such as space settings or member roles.
  • DELETE: For removing GitBook resources such as pages or change requests.

Data Format

  1. Select the format in which the Nexset data will be sent to the GitBook API from the Content Format pulldown menu. Nexla will automatically convert the data to the selected format for each API call.

    The GitBook API accepts and returns data in JSON format. Select JSON as the content format for all GitBook destination operations.

API Endpoint URL

  1. Enter the URL of the GitBook API endpoint to which you want to send the Nexset data in the URL field. This should be the complete URL including the protocol (https://) and any required path parameters. For update or upsert operations, include the ID of the object to be updated at the end of the URL.

    Common GitBook destination API endpoint URL patterns include:

    • https://api.gitbook.com/v1/orgs/{'{organizationId}'}/spaces — Create a new space in an organization.
    • https://api.gitbook.com/v1/spaces/{'{spaceId}'}/content/import — Import content into a space.
    • https://api.gitbook.com/v1/spaces/{'{spaceId}'}/change-requests — Create a new change request in a space.
    • https://api.gitbook.com/v1/spaces/{'{spaceId}'}/members/{'{userId}'} — Update a member's role in a space.

    Replace {'{organizationId}'}, {'{spaceId}'}, and {'{userId}'} with the actual IDs from your GitBook account.

    All GitBook API requests must be made over HTTPS. For a complete list of available write endpoints and their required request body structures, refer to the GitBook API Reference.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers and corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the Authorization header — this is automatically managed by Nexla using the API token from the configured credential. For JSON payloads, the Content-Type: application/json header is also handled automatically.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this GitBook destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

    Batching may not be appropriate for all GitBook API endpoints. Many GitBook write endpoints accept a single object per request. Review the GitBook API Reference to confirm whether the target endpoint supports batch payloads before enabling this option.

Response Webhook

Optional

Nexla can automatically send the response received from the GitBook API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call — such as the ID of a newly created space or the status of an import operation.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the GitBook API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.
  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing

After all endpoint settings have been configured, Nexla can send a test payload to the GitBook API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the GitBook API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured GitBook endpoint, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to GitBook until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.