Integrations

Install and handle third-party integrations for extended GitBook functionality.

Expand the capabilities of GitBook by connecting it with various external platforms—CRM, issue trackers, or CI/CD pipelines—through standardized integration endpoints.

List all public integrations

get
Authorizations
Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

searchstringoptional

A search string to filter integrations by name

categorystring · enumoptional

Filter the integrations by category

Available options:
blockDomainstring · max: 100optional

Filter the integrations by block's domains

Pattern: ^[a-zA-Z0-9-_.]+$
blocksbooleanoptional

If true, returns only integrations with blocks. If false, returns only integrations without blocks.

contentSourcesbooleanoptional

If true, returns only integrations with contentSources. If false, returns only integrations without contentSources.

ownerstringoptional

If defined, only list integrations owned by the given organization.

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "object": "integration",
      "name": "text",
      "version": 1,
      "title": "text",
      "description": "text",
      "summary": "text",
      "previewImages": [
        "text"
      ],
      "target": "all",
      "verified": true,
      "visibility": "public",
      "scopes": [
        "space:views:read"
      ],
      "categories": [
        "analytics"
      ],
      "blocks": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "urlUnfurl": [
            "text"
          ],
          "markdown": {
            "codeblock": "text",
            "body": "text"
          }
        }
      ],
      "contentSources": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "configuration": {
            "componentId": "text"
          }
        }
      ],
      "configurations": {
        "account": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "space": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "site": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      },
      "externalLinks": [
        {
          "url": "https://example.com",
          "label": "text"
        }
      ],
      "owner": {
        "object": "organization",
        "id": "text",
        "title": "text",
        "createdAt": "2025-04-16T23:15:51.849Z",
        "emailDomains": [
          "text"
        ],
        "hostname": "text",
        "type": "business",
        "useCase": "internalDocs",
        "communityType": "nonProfit",
        "defaultRole": "admin",
        "defaultContent": {
          "type": "site",
          "site": "text"
        },
        "sso": true,
        "ai": true,
        "inviteLinks": true,
        "plan": "free_2024",
        "billing": {
          "interval": "monthly",
          "endDate": "2025-04-16T23:15:51.849Z",
          "hasPaymentFailed": true,
          "isScheduledToCancel": true
        },
        "urls": {
          "location": "https://example.com",
          "app": "https://example.com",
          "logo": "https://example.com"
        },
        "trial": {
          "status": "notapplicable",
          "endDate": "2025-04-16T23:15:51.849Z",
          "decision": "downgrade"
        },
        "customHostname": "text",
        "blocked": {
          "reason": "security"
        },
        "internal_isOnNewTrial": true,
        "internal_billingMigration": {
          "deadline": "2025-04-16T23:15:51.849Z",
          "discountPercent": 1,
          "discountEndDate": "2025-04-16T23:15:51.849Z"
        },
        "permissions": {
          "admin": true,
          "createContent": true
        }
      },
      "urls": {
        "location": "https://example.com",
        "icon": "https://example.com",
        "app": "https://example.com",
        "assets": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "permissions": {
        "admin": true,
        "install": true
      },
      "contentSecurityPolicy": "text"
    }
  ]
}

Get an integration by its name

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "object": "integration",
  "name": "text",
  "version": 1,
  "title": "text",
  "description": "text",
  "summary": "text",
  "previewImages": [
    "text"
  ],
  "target": "all",
  "verified": true,
  "visibility": "public",
  "scopes": [
    "space:views:read"
  ],
  "categories": [
    "analytics"
  ],
  "blocks": [
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "icon": "text",
      "urlUnfurl": [
        "text"
      ],
      "markdown": {
        "codeblock": "text",
        "body": "text"
      }
    }
  ],
  "contentSources": [
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "icon": "text",
      "configuration": {
        "componentId": "text"
      }
    }
  ],
  "configurations": {
    "account": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    },
    "space": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    },
    "site": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    }
  },
  "externalLinks": [
    {
      "url": "https://example.com",
      "label": "text"
    }
  ],
  "owner": {
    "object": "organization",
    "id": "text",
    "title": "text",
    "createdAt": "2025-04-16T23:15:51.849Z",
    "emailDomains": [
      "text"
    ],
    "hostname": "text",
    "type": "business",
    "useCase": "internalDocs",
    "communityType": "nonProfit",
    "defaultRole": "admin",
    "defaultContent": {
      "type": "site",
      "site": "text"
    },
    "sso": true,
    "ai": true,
    "inviteLinks": true,
    "plan": "free_2024",
    "billing": {
      "interval": "monthly",
      "endDate": "2025-04-16T23:15:51.849Z",
      "hasPaymentFailed": true,
      "isScheduledToCancel": true
    },
    "urls": {
      "location": "https://example.com",
      "app": "https://example.com",
      "logo": "https://example.com"
    },
    "trial": {
      "status": "notapplicable",
      "endDate": "2025-04-16T23:15:51.849Z",
      "decision": "downgrade"
    },
    "customHostname": "text",
    "blocked": {
      "reason": "security"
    },
    "internal_isOnNewTrial": true,
    "internal_billingMigration": {
      "deadline": "2025-04-16T23:15:51.849Z",
      "discountPercent": 1,
      "discountEndDate": "2025-04-16T23:15:51.849Z"
    },
    "permissions": {
      "admin": true,
      "createContent": true
    }
  },
  "urls": {
    "location": "https://example.com",
    "icon": "https://example.com",
    "app": "https://example.com",
    "assets": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "permissions": {
    "admin": true,
    "install": true
  },
  "contentSecurityPolicy": "text"
}

Publish an integration

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Body
iconstring · byteoptional

Base64 content of the icon

titlestring · min: 2 · max: 30required

Title of the integration

descriptionstring · max: 100required

Description of the integration

summarystring · max: 2048optional

Long form markdown summary of the integration

previewImagesstring · byte[] · max: 3optional

Base64 content of the image

visibilitystring · enumoptionalAvailable options:
targetstring · enumoptional

Allowed installation target for the integration. If not specified, the integration can be installed at all targets (org, spaces etc)

Available options:
scopesstring · enum[]required

Permissions that should be granted to the integration

categoriesstring · enum[]optional

Categories for which the integration is listed in the marketplace

blocksobject[]optional

Custom blocks defined by this integration.

contentSourcesobject[]optional

Definition of a content source provided by the integration.

externalLinksobject[] · max: 5optional

External urls configured by the developer of the integration

configurationsobjectoptional

scriptstringrequired

Content of the script to use

organizationstringrequired

The ID or subdomain of the organization under which the integration should be published

secretsobjectoptional

Secrets stored on the integration and passed at runtime.

contentSecurityPolicyone ofoptional

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.

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "icon": "Ynl0ZXM=",
    "title": "text",
    "description": "text",
    "summary": "text",
    "previewImages": [
      "Ynl0ZXM="
    ],
    "visibility": "public",
    "target": "all",
    "scopes": [
      "space:views:read"
    ],
    "categories": [
      "analytics"
    ],
    "blocks": [
      {
        "id": "text",
        "title": "text",
        "description": "text",
        "icon": "text",
        "urlUnfurl": [
          "text"
        ],
        "markdown": {
          "codeblock": "text",
          "body": "text"
        }
      }
    ],
    "contentSources": [
      {
        "id": "text",
        "title": "text",
        "description": "text",
        "icon": "text",
        "configuration": {
          "componentId": "text"
        }
      }
    ],
    "externalLinks": [
      {
        "url": "https://example.com",
        "label": "text"
      }
    ],
    "configurations": {
      "account": {
        "properties": {
          "ANY_ADDITIONAL_PROPERTY": {
            "title": "text",
            "description": "text",
            "type": "string",
            "default": "text",
            "completion_url": "text",
            "enum": [
              "text"
            ]
          }
        },
        "required": [
          "text"
        ]
      },
      "space": {
        "properties": {
          "ANY_ADDITIONAL_PROPERTY": {
            "title": "text",
            "description": "text",
            "type": "string",
            "default": "text",
            "completion_url": "text",
            "enum": [
              "text"
            ]
          }
        },
        "required": [
          "text"
        ]
      },
      "site": {
        "properties": {
          "ANY_ADDITIONAL_PROPERTY": {
            "title": "text",
            "description": "text",
            "type": "string",
            "default": "text",
            "completion_url": "text",
            "enum": [
              "text"
            ]
          }
        },
        "required": [
          "text"
        ]
      }
    },
    "script": "text",
    "organization": "text",
    "secrets": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "contentSecurityPolicy": "text"
  }'
{
  "object": "integration",
  "name": "text",
  "version": 1,
  "title": "text",
  "description": "text",
  "summary": "text",
  "previewImages": [
    "text"
  ],
  "target": "all",
  "verified": true,
  "visibility": "public",
  "scopes": [
    "space:views:read"
  ],
  "categories": [
    "analytics"
  ],
  "blocks": [
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "icon": "text",
      "urlUnfurl": [
        "text"
      ],
      "markdown": {
        "codeblock": "text",
        "body": "text"
      }
    }
  ],
  "contentSources": [
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "icon": "text",
      "configuration": {
        "componentId": "text"
      }
    }
  ],
  "configurations": {
    "account": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    },
    "space": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    },
    "site": {
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {
          "title": "text",
          "description": "text",
          "type": "string",
          "default": "text",
          "completion_url": "text",
          "enum": [
            "text"
          ]
        }
      },
      "required": [
        "text"
      ]
    }
  },
  "externalLinks": [
    {
      "url": "https://example.com",
      "label": "text"
    }
  ],
  "owner": {
    "object": "organization",
    "id": "text",
    "title": "text",
    "createdAt": "2025-04-16T23:15:51.849Z",
    "emailDomains": [
      "text"
    ],
    "hostname": "text",
    "type": "business",
    "useCase": "internalDocs",
    "communityType": "nonProfit",
    "defaultRole": "admin",
    "defaultContent": {
      "type": "site",
      "site": "text"
    },
    "sso": true,
    "ai": true,
    "inviteLinks": true,
    "plan": "free_2024",
    "billing": {
      "interval": "monthly",
      "endDate": "2025-04-16T23:15:51.849Z",
      "hasPaymentFailed": true,
      "isScheduledToCancel": true
    },
    "urls": {
      "location": "https://example.com",
      "app": "https://example.com",
      "logo": "https://example.com"
    },
    "trial": {
      "status": "notapplicable",
      "endDate": "2025-04-16T23:15:51.849Z",
      "decision": "downgrade"
    },
    "customHostname": "text",
    "blocked": {
      "reason": "security"
    },
    "internal_isOnNewTrial": true,
    "internal_billingMigration": {
      "deadline": "2025-04-16T23:15:51.849Z",
      "discountPercent": 1,
      "discountEndDate": "2025-04-16T23:15:51.849Z"
    },
    "permissions": {
      "admin": true,
      "createContent": true
    }
  },
  "urls": {
    "location": "https://example.com",
    "icon": "https://example.com",
    "app": "https://example.com",
    "assets": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "permissions": {
    "admin": true,
    "install": true
  },
  "contentSecurityPolicy": "text"
}

Unpublish an integration

delete
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Responses
curl -L \
  --request DELETE \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

No Content

List all integration installations

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

externalIdstringoptional

External Id to filter by

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "id": "text",
      "status": "active",
      "space_selection": "all",
      "site_selection": "all",
      "spaces": 1,
      "configuration": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "createdAt": "2025-04-16T23:15:51.849Z",
      "updatedAt": "2025-04-16T23:15:51.849Z",
      "urls": {
        "location": "https://example.com",
        "app": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "externalIds": [
        "text"
      ],
      "target": {
        "organization": "text"
      }
    }
  ]
}

Install an integration

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Body
organizationstringrequired
Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "organization": "text"
  }'
{
  "id": "text",
  "status": "active",
  "space_selection": "all",
  "site_selection": "all",
  "spaces": 1,
  "configuration": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "createdAt": "2025-04-16T23:15:51.849Z",
  "updatedAt": "2025-04-16T23:15:51.849Z",
  "urls": {
    "location": "https://example.com",
    "app": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "externalIds": [
    "text"
  ],
  "target": {
    "organization": "text"
  }
}

List all integration events

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/events' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "id": "text",
      "integrationId": "text",
      "installationId": "text",
      "createdAt": "2025-04-16T23:15:51.849Z",
      "payload": {
        "eventId": "text",
        "type": "installation_setup",
        "installationId": "text",
        "status": "active",
        "previous": {
          "status": "active",
          "configuration": {}
        }
      },
      "status": "success"
    }
  ]
}

Get an integration event by its ID

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
eventIdstringrequired

ID of the integration event

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/events/{eventId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "event": {
    "id": "text",
    "integrationId": "text",
    "installationId": "text",
    "createdAt": "2025-04-16T23:15:51.849Z",
    "payload": {
      "eventId": "text",
      "type": "installation_setup",
      "installationId": "text",
      "status": "active",
      "previous": {
        "status": "active",
        "configuration": {}
      }
    },
    "status": "success"
  },
  "trace": {
    "logs": [
      {
        "message": "text",
        "timestamp": "2025-04-16T23:15:51.849Z",
        "level": "debug"
      }
    ]
  }
}

List all integration space installations

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

externalIdstringoptional

External Id to filter by

extendedbooleanoptional

If true, returns the space object in each items. If false, returns the space ID in each items.

Default: false
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/spaces' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "integration": "text",
      "installation": "text",
      "status": "active",
      "configuration": {},
      "externalIds": [
        "text"
      ],
      "urls": {
        "location": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "space": "text"
    }
  ]
}

Enable integration dev mode

put
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Body
tunnelUrlstring · min: 1 · max: 256required

URL of the tunnel to dispatch integration events to

allbooleanoptional

If set to true, all requests will be forwarded to the tunnel, not just from the owning organization.

Default: false
Responses
curl -L \
  --request PUT \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/dev' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "tunnelUrl": "text",
    "all": true
  }'

No Content

Disable integration dev mode

delete
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Responses
curl -L \
  --request DELETE \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/dev' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

No Content

Render an integration UI with GET method

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Query parameters
requeststringrequired

LZ-string compressed JSON request

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/render?request=text' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "type": "element",
  "element": {
    "type": "block",
    "children": [
      {
        "type": "button",
        "style": "primary",
        "onPress": "[Circular Reference]",
        "icon": "close",
        "trailingIcon": "close",
        "label": "text",
        "tooltip": "text",
        "confirm": {
          "title": "text",
          "text": "text",
          "confirm": "text",
          "style": "primary"
        },
        "disabled": true
      }
    ],
    "controls": [
      {
        "icon": "close",
        "label": "text",
        "onPress": "[Circular Reference]",
        "confirm": {
          "title": "text",
          "text": "text",
          "confirm": "text",
          "style": "primary"
        }
      }
    ]
  },
  "state": {},
  "props": {
    "ANY_ADDITIONAL_PROPERTY": {
      "ANY_ADDITIONAL_PROPERTY": "[Circular Reference]"
    }
  }
}

Render an integration UI with POST method

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Body
componentIdstringrequired

ID of the component to render in the integration.

propsobjectrequired

Current properties of the UI.

stateobjectoptional

Current local state of the UI.

contextone ofrequired

Object representing the context in which a ContentKit component is rendered.

actionany ofoptional

Custom action to re-render the block.

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/render' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "componentId": "text",
    "props": {
      "ANY_ADDITIONAL_PROPERTY": {
        "ANY_ADDITIONAL_PROPERTY": {
          "ANY_ADDITIONAL_PROPERTY": "[Circular Reference]"
        }
      }
    },
    "state": {},
    "context": {
      "theme": "dark",
      "type": "configuration_account",
      "organizationId": "text"
    },
    "action": {
      "action": "text",
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }'
{
  "type": "element",
  "element": {
    "type": "block",
    "children": [
      {
        "type": "button",
        "style": "primary",
        "onPress": "[Circular Reference]",
        "icon": "close",
        "trailingIcon": "close",
        "label": "text",
        "tooltip": "text",
        "confirm": {
          "title": "text",
          "text": "text",
          "confirm": "text",
          "style": "primary"
        },
        "disabled": true
      }
    ],
    "controls": [
      {
        "icon": "close",
        "label": "text",
        "onPress": "[Circular Reference]",
        "confirm": {
          "title": "text",
          "text": "text",
          "confirm": "text",
          "style": "primary"
        }
      }
    ]
  },
  "state": {},
  "props": {
    "ANY_ADDITIONAL_PROPERTY": {
      "ANY_ADDITIONAL_PROPERTY": "[Circular Reference]"
    }
  }
}

Queue an integration task

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Body
taskobjectrequired

Payload for the integration task

schedulenumber · max: 86400optional

Number of seconds to wait before executing the task, defaults to 0

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/tasks' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "task": {},
    "schedule": 1
  }'

No Content

Get an integration installation by its ID

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "id": "text",
  "status": "active",
  "space_selection": "all",
  "site_selection": "all",
  "spaces": 1,
  "configuration": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "createdAt": "2025-04-16T23:15:51.849Z",
  "updatedAt": "2025-04-16T23:15:51.849Z",
  "urls": {
    "location": "https://example.com",
    "app": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "externalIds": [
    "text"
  ],
  "target": {
    "organization": "text"
  }
}

Uninstall an integration

delete
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Responses
curl -L \
  --request DELETE \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

No Content

Update an integration installation

patch
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Body
externalIdsstring[] · max: 5optional

External IDs assigned by the integration.

configurationobjectoptional

Configuration of the integration at the account level

space_selectionstring · enumoptional

Describe whether all spaces have been selected or there's a selection involved

Available options:
site_selectionstring · enumoptional

Describe whether all sites have been selected or there's a selection involved

Available options:
Responses
curl -L \
  --request PATCH \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "externalIds": [
      "text"
    ],
    "configuration": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "space_selection": "all",
    "site_selection": "all"
  }'
{
  "id": "text",
  "status": "active",
  "space_selection": "all",
  "site_selection": "all",
  "spaces": 1,
  "configuration": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "createdAt": "2025-04-16T23:15:51.849Z",
  "updatedAt": "2025-04-16T23:15:51.849Z",
  "urls": {
    "location": "https://example.com",
    "app": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "externalIds": [
    "text"
  ],
  "target": {
    "organization": "text"
  }
}

Create an integration installation API token

post

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.

Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/tokens' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "token": "text"
}

List all space integration installations

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

extendedbooleanoptional

If true, returns the space object in each items. If false, returns the space ID in each items.

Default: false
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/spaces' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "integration": "text",
      "installation": "text",
      "status": "active",
      "configuration": {},
      "externalIds": [
        "text"
      ],
      "urls": {
        "location": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "space": "text"
    }
  ]
}

Install an integration on a space

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Query parameters
extendedbooleanoptional

If true, returns the space object in each items. If false, returns the space ID in each items.

Default: false
Body
spacestringrequired

ID of the space to install the integration on

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/spaces' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "space": "text"
  }'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "space": "text"
}

Get an integration space installation

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

spaceIdstringrequired

The unique id of the space

Query parameters
extendedbooleanoptional

If true, returns the space object in each items. If false, returns the space ID in each items.

Default: false
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "space": "text"
}

Uninstall an integration from a space

delete
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

spaceIdstringrequired

The unique id of the space

Responses
curl -L \
  --request DELETE \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

No Content

Update an integration space installation

patch
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

spaceIdstringrequired

The unique id of the space

Query parameters
extendedbooleanoptional

If true, returns the space object in each items. If false, returns the space ID in each items.

Default: false
Body
externalIdsstring[] · max: 5optional

External IDs assigned by the integration.

configurationobjectoptional

Configuration of the integration at the account level

Responses
curl -L \
  --request PATCH \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/spaces/{spaceId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "externalIds": [
      "text"
    ],
    "configuration": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "space": "text"
}

List all site integration installations

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

extendedbooleanoptional

If true, returns the site object in each items. If false, returns the site ID in each items.

Default: false
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/sites' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "integration": "text",
      "installation": "text",
      "status": "active",
      "configuration": {},
      "externalIds": [
        "text"
      ],
      "urls": {
        "location": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "site": "text"
    }
  ]
}

Install an integration on a site

post
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

Query parameters
extendedbooleanoptional

If true, returns the site object in each items. If false, returns the site ID in each items.

Default: false
Body
siteIdstringrequired

ID of the site to install the integration on

Responses
curl -L \
  --request POST \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/sites' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "siteId": "text"
  }'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "site": "text"
}

Get an integration site installation

get
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

siteIdstringrequired

The unique id of the site

Query parameters
extendedbooleanoptional

If true, returns the site object in each items. If false, returns the site ID in each items.

Default: false
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/sites/{siteId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "site": "text"
}

Uninstall an integration from a site

delete
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

siteIdstringrequired

The unique id of the site

Responses
curl -L \
  --request DELETE \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/sites/{siteId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'

No Content

Update an integration site installation

patch
Authorizations
Path parameters
integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
installationIdstringrequired

Identifier of the installation

siteIdstringrequired

The unique id of the site

Query parameters
extendedbooleanoptional

If true, returns the site object in each items. If false, returns the site ID in each items.

Default: false
Body
externalIdsstring[] · max: 5optional

External IDs assigned by the integration.

configurationobjectoptional

Configuration of the integration at the account level

Responses
curl -L \
  --request PATCH \
  --url 'https://api.gitbook.com/v1/integrations/{integrationName}/installations/{installationId}/sites/{siteId}' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{
    "externalIds": [
      "text"
    ],
    "configuration": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    }
  }'
{
  "integration": "text",
  "installation": "text",
  "status": "active",
  "configuration": {},
  "externalIds": [
    "text"
  ],
  "urls": {
    "location": "https://example.com",
    "publicEndpoint": "https://example.com"
  },
  "site": "text"
}

List all integrations

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

searchstringoptional

A search string to filter integrations by name

categorystring · enumoptional

Filter the integrations by category

Available options:
blockDomainstring · max: 100optional

Filter the integrations by block's domains

Pattern: ^[a-zA-Z0-9-_.]+$
blocksbooleanoptional

If true, returns only integrations with blocks. If false, returns only integrations without blocks.

contentSourcesbooleanoptional

If true, returns only integrations with contentSources. If false, returns only integrations without contentSources.

ownerstringoptional

If defined, only list integrations owned by the given organization.

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/integrations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "object": "integration",
      "name": "text",
      "version": 1,
      "title": "text",
      "description": "text",
      "summary": "text",
      "previewImages": [
        "text"
      ],
      "target": "all",
      "verified": true,
      "visibility": "public",
      "scopes": [
        "space:views:read"
      ],
      "categories": [
        "analytics"
      ],
      "blocks": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "urlUnfurl": [
            "text"
          ],
          "markdown": {
            "codeblock": "text",
            "body": "text"
          }
        }
      ],
      "contentSources": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "configuration": {
            "componentId": "text"
          }
        }
      ],
      "configurations": {
        "account": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "space": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "site": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      },
      "externalLinks": [
        {
          "url": "https://example.com",
          "label": "text"
        }
      ],
      "owner": {
        "object": "organization",
        "id": "text",
        "title": "text",
        "createdAt": "2025-04-16T23:15:51.849Z",
        "emailDomains": [
          "text"
        ],
        "hostname": "text",
        "type": "business",
        "useCase": "internalDocs",
        "communityType": "nonProfit",
        "defaultRole": "admin",
        "defaultContent": {
          "type": "site",
          "site": "text"
        },
        "sso": true,
        "ai": true,
        "inviteLinks": true,
        "plan": "free_2024",
        "billing": {
          "interval": "monthly",
          "endDate": "2025-04-16T23:15:51.849Z",
          "hasPaymentFailed": true,
          "isScheduledToCancel": true
        },
        "urls": {
          "location": "https://example.com",
          "app": "https://example.com",
          "logo": "https://example.com"
        },
        "trial": {
          "status": "notapplicable",
          "endDate": "2025-04-16T23:15:51.849Z",
          "decision": "downgrade"
        },
        "customHostname": "text",
        "blocked": {
          "reason": "security"
        },
        "internal_isOnNewTrial": true,
        "internal_billingMigration": {
          "deadline": "2025-04-16T23:15:51.849Z",
          "discountPercent": 1,
          "discountEndDate": "2025-04-16T23:15:51.849Z"
        },
        "permissions": {
          "admin": true,
          "createContent": true
        }
      },
      "urls": {
        "location": "https://example.com",
        "icon": "https://example.com",
        "app": "https://example.com",
        "assets": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "permissions": {
        "admin": true,
        "install": true
      },
      "contentSecurityPolicy": "text"
    }
  ]
}

Get the status of an integration

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

integrationNamestring · max: 100required

Name of the integration.

Pattern: ^[a-zA-Z0-9-_.]+$
Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/integrations/{integrationName}/installation_status' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "status": "active"
}

List all integration installations

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

searchstringoptional

A search string to filter integrations by name

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/installations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "installation": {
        "id": "text",
        "status": "active",
        "space_selection": "all",
        "site_selection": "all",
        "spaces": 1,
        "configuration": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        },
        "createdAt": "2025-04-16T23:15:51.849Z",
        "updatedAt": "2025-04-16T23:15:51.849Z",
        "urls": {
          "location": "https://example.com",
          "app": "https://example.com",
          "publicEndpoint": "https://example.com"
        },
        "externalIds": [
          "text"
        ],
        "target": {
          "organization": "text"
        }
      },
      "integration": {
        "object": "integration",
        "name": "text",
        "version": 1,
        "title": "text",
        "description": "text",
        "summary": "text",
        "previewImages": [
          "text"
        ],
        "target": "all",
        "verified": true,
        "visibility": "public",
        "scopes": [
          "space:views:read"
        ],
        "categories": [
          "analytics"
        ],
        "blocks": [
          {
            "id": "text",
            "title": "text",
            "description": "text",
            "icon": "text",
            "urlUnfurl": [
              "text"
            ],
            "markdown": {
              "codeblock": "text",
              "body": "text"
            }
          }
        ],
        "contentSources": [
          {
            "id": "text",
            "title": "text",
            "description": "text",
            "icon": "text",
            "configuration": {
              "componentId": "text"
            }
          }
        ],
        "configurations": {
          "account": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          },
          "space": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          },
          "site": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          }
        },
        "externalLinks": [
          {
            "url": "https://example.com",
            "label": "text"
          }
        ],
        "owner": {
          "object": "organization",
          "id": "text",
          "title": "text",
          "createdAt": "2025-04-16T23:15:51.849Z",
          "emailDomains": [
            "text"
          ],
          "hostname": "text",
          "type": "business",
          "useCase": "internalDocs",
          "communityType": "nonProfit",
          "defaultRole": "admin",
          "defaultContent": {
            "type": "site",
            "site": "text"
          },
          "sso": true,
          "ai": true,
          "inviteLinks": true,
          "plan": "free_2024",
          "billing": {
            "interval": "monthly",
            "endDate": "2025-04-16T23:15:51.849Z",
            "hasPaymentFailed": true,
            "isScheduledToCancel": true
          },
          "urls": {
            "location": "https://example.com",
            "app": "https://example.com",
            "logo": "https://example.com"
          },
          "trial": {
            "status": "notapplicable",
            "endDate": "2025-04-16T23:15:51.849Z",
            "decision": "downgrade"
          },
          "customHostname": "text",
          "blocked": {
            "reason": "security"
          },
          "internal_isOnNewTrial": true,
          "internal_billingMigration": {
            "deadline": "2025-04-16T23:15:51.849Z",
            "discountPercent": 1,
            "discountEndDate": "2025-04-16T23:15:51.849Z"
          },
          "permissions": {
            "admin": true,
            "createContent": true
          }
        },
        "urls": {
          "location": "https://example.com",
          "icon": "https://example.com",
          "app": "https://example.com",
          "assets": "https://example.com",
          "publicEndpoint": "https://example.com"
        },
        "permissions": {
          "admin": true,
          "install": true
        },
        "contentSecurityPolicy": "text"
      }
    }
  ]
}

List all integration statuses

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

Query parameters
pagestringoptional

Identifier of the page results to fetch.

limitnumber · max: 1000optional

The number of results per page

searchstringoptional

A search string to filter integrations by name

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/integrations/installations-status' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "status": "active",
      "integration": {
        "object": "integration",
        "name": "text",
        "version": 1,
        "title": "text",
        "description": "text",
        "summary": "text",
        "previewImages": [
          "text"
        ],
        "target": "all",
        "verified": true,
        "visibility": "public",
        "scopes": [
          "space:views:read"
        ],
        "categories": [
          "analytics"
        ],
        "blocks": [
          {
            "id": "text",
            "title": "text",
            "description": "text",
            "icon": "text",
            "urlUnfurl": [
              "text"
            ],
            "markdown": {
              "codeblock": "text",
              "body": "text"
            }
          }
        ],
        "contentSources": [
          {
            "id": "text",
            "title": "text",
            "description": "text",
            "icon": "text",
            "configuration": {
              "componentId": "text"
            }
          }
        ],
        "configurations": {
          "account": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          },
          "space": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          },
          "site": {
            "properties": {
              "ANY_ADDITIONAL_PROPERTY": {
                "title": "text",
                "description": "text",
                "type": "string",
                "default": "text",
                "completion_url": "text",
                "enum": [
                  "text"
                ]
              }
            },
            "required": [
              "text"
            ]
          }
        },
        "externalLinks": [
          {
            "url": "https://example.com",
            "label": "text"
          }
        ],
        "owner": {
          "object": "organization",
          "id": "text",
          "title": "text",
          "createdAt": "2025-04-16T23:15:51.849Z",
          "emailDomains": [
            "text"
          ],
          "hostname": "text",
          "type": "business",
          "useCase": "internalDocs",
          "communityType": "nonProfit",
          "defaultRole": "admin",
          "defaultContent": {
            "type": "site",
            "site": "text"
          },
          "sso": true,
          "ai": true,
          "inviteLinks": true,
          "plan": "free_2024",
          "billing": {
            "interval": "monthly",
            "endDate": "2025-04-16T23:15:51.849Z",
            "hasPaymentFailed": true,
            "isScheduledToCancel": true
          },
          "urls": {
            "location": "https://example.com",
            "app": "https://example.com",
            "logo": "https://example.com"
          },
          "trial": {
            "status": "notapplicable",
            "endDate": "2025-04-16T23:15:51.849Z",
            "decision": "downgrade"
          },
          "customHostname": "text",
          "blocked": {
            "reason": "security"
          },
          "internal_isOnNewTrial": true,
          "internal_billingMigration": {
            "deadline": "2025-04-16T23:15:51.849Z",
            "discountPercent": 1,
            "discountEndDate": "2025-04-16T23:15:51.849Z"
          },
          "permissions": {
            "admin": true,
            "createContent": true
          }
        },
        "urls": {
          "location": "https://example.com",
          "icon": "https://example.com",
          "app": "https://example.com",
          "assets": "https://example.com",
          "publicEndpoint": "https://example.com"
        },
        "permissions": {
          "admin": true,
          "install": true
        },
        "contentSecurityPolicy": "text"
      }
    }
  ]
}

List the scripts to embed in published content for a site.

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

siteIdstringrequired

The unique id of the site

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/sites/{siteId}/integration-scripts' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
[
  {
    "script": "https://example.com",
    "contentSecurityPolicy": "text",
    "cookies": true
  }
]

List integrations enabled in a site.

get
Authorizations
Path parameters
organizationIdstringrequired

The unique id of the organization

siteIdstringrequired

The unique id of the site

Query parameters
searchstringoptional

A search string to filter integrations by name

Responses
curl -L \
  --url 'https://api.gitbook.com/v1/orgs/{organizationId}/sites/{siteId}/integrations' \
  --header 'Authorization: Bearer YOUR_SECRET_TOKEN'
{
  "next": {
    "page": "text"
  },
  "count": 1,
  "items": [
    {
      "object": "integration",
      "name": "text",
      "version": 1,
      "title": "text",
      "description": "text",
      "summary": "text",
      "previewImages": [
        "text"
      ],
      "target": "all",
      "verified": true,
      "visibility": "public",
      "scopes": [
        "space:views:read"
      ],
      "categories": [
        "analytics"
      ],
      "blocks": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "urlUnfurl": [
            "text"
          ],
          "markdown": {
            "codeblock": "text",
            "body": "text"
          }
        }
      ],
      "contentSources": [
        {
          "id": "text",
          "title": "text",
          "description": "text",
          "icon": "text",
          "configuration": {
            "componentId": "text"
          }
        }
      ],
      "configurations": {
        "account": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "space": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        },
        "site": {
          "properties": {
            "ANY_ADDITIONAL_PROPERTY": {
              "title": "text",
              "description": "text",
              "type": "string",
              "default": "text",
              "completion_url": "text",
              "enum": [
                "text"
              ]
            }
          },
          "required": [
            "text"
          ]
        }
      },
      "externalLinks": [
        {
          "url": "https://example.com",
          "label": "text"
        }
      ],
      "owner": {
        "object": "organization",
        "id": "text",
        "title": "text",
        "createdAt": "2025-04-16T23:15:51.849Z",
        "emailDomains": [
          "text"
        ],
        "hostname": "text",
        "type": "business",
        "useCase": "internalDocs",
        "communityType": "nonProfit",
        "defaultRole": "admin",
        "defaultContent": {
          "type": "site",
          "site": "text"
        },
        "sso": true,
        "ai": true,
        "inviteLinks": true,
        "plan": "free_2024",
        "billing": {
          "interval": "monthly",
          "endDate": "2025-04-16T23:15:51.849Z",
          "hasPaymentFailed": true,
          "isScheduledToCancel": true
        },
        "urls": {
          "location": "https://example.com",
          "app": "https://example.com",
          "logo": "https://example.com"
        },
        "trial": {
          "status": "notapplicable",
          "endDate": "2025-04-16T23:15:51.849Z",
          "decision": "downgrade"
        },
        "customHostname": "text",
        "blocked": {
          "reason": "security"
        },
        "internal_isOnNewTrial": true,
        "internal_billingMigration": {
          "deadline": "2025-04-16T23:15:51.849Z",
          "discountPercent": 1,
          "discountEndDate": "2025-04-16T23:15:51.849Z"
        },
        "permissions": {
          "admin": true,
          "createContent": true
        }
      },
      "urls": {
        "location": "https://example.com",
        "icon": "https://example.com",
        "app": "https://example.com",
        "assets": "https://example.com",
        "publicEndpoint": "https://example.com"
      },
      "permissions": {
        "admin": true,
        "install": true
      },
      "contentSecurityPolicy": "text"
    }
  ]
}

Was this helpful?