From be40734ca0fe3c599168d444e00e89585af30a7e Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 22:59:14 +0000
Subject: [PATCH 01/15] Add self-hosted GitLab OAuth documentation
Mintlify-Source: dashboard-editor
---
deploy/gitlab-self-hosted.mdx | 110 ++++++++++++++++++++++++++++++++++
docs.json | 3 +-
2 files changed, 112 insertions(+), 1 deletion(-)
create mode 100644 deploy/gitlab-self-hosted.mdx
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
new file mode 100644
index 000000000..d649040fa
--- /dev/null
+++ b/deploy/gitlab-self-hosted.mdx
@@ -0,0 +1,110 @@
+---
+title: "Self-hosted GitLab OAuth"
+description: "Connect a self-hosted GitLab instance to Mintlify via OAuth so workflows can clone repositories, push commits, and open merge requests on your behalf."
+keywords: ["GitLab", "self-hosted", "OAuth", "workflows", "enterprise"]
+---
+
+Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in addition to gitlab.com. OAuth lets the Mintlify agent act as a GitLab user during workflow runs — cloning repositories, pushing commits, opening merge requests, and registering project webhooks. You'll need this if you run your own GitLab and want to use workflows.
+
+Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. You'll create the application on your GitLab instance, share its credentials with Mintlify, and then go through a normal OAuth authorization to connect a user.
+
+
+ This guide is only for the **OAuth** integration that powers workflows. The deployment-side connection (used for content sync and previews) is configured separately with a deploy token — see the [GitLab guide](/deploy/gitlab). The two integrations are independent and can be set up in any order.
+
+
+## Prerequisites
+
+- Admin access to your self-hosted GitLab instance.
+- Your GitLab instance must be reachable from `https://dashboard.mintlify.com`. Instances behind a VPN or behind a firewall that blocks public ingress will not work.
+- A Mintlify organization that has the self-hosted GitLab feature enabled. Contact support if you don't see the **Self-hosted GitLab** section in **Settings → Git settings → GitLab OAuth**.
+
+## Set up the connection
+
+
+
+ In your self-hosted GitLab, sign in as an admin and navigate to **Admin Area** \> **Applications** \> **Add new application**.
+
+ Configure the application with these values:
+
+ - **Name**: `Mintlify`
+ - **Redirect URI**: `https://dashboard.mintlify.com/api/gitlab-oauth/callback`
+ - **Trusted**: leave **unchecked**. Trusting the application skips the consent screen for every user; leaving it unchecked surfaces a normal authorization prompt the first time each user connects.
+ - **Confidential**: **checked**. Mintlify is a server-side client and keeps the secret confidential.
+ - **Scopes**: select `api`, `read_repository`, and `write_repository`. The agent uses these to read project metadata, clone repositories, and push commits.
+
+ Click **Save application**.
+
+
+ Editing an OAuth application on GitLab can rotate the client secret silently. If you make changes later, click **Renew secret** and update the new value in Mintlify.
+
+
+
+ After saving, GitLab displays the application's **Application ID** and **Secret**. Keep this page open — the secret is only shown once.
+
+
+ In your Mintlify dashboard, open **Settings** \> **Git settings** and find the **Self-hosted GitLab** section under **GitLab OAuth**.
+
+ Click **Connect Self-Hosted GitLab** and enter:
+
+ - **GitLab instance URL**: the public URL of your GitLab instance, for example `https://gitlab.your-company.com`. Mintlify reaches your instance through this URL when exchanging tokens and calling the GitLab API.
+ - **OAuth application client ID**: the **Application ID** from the previous step.
+ - **OAuth application client secret**: the **Secret** from the previous step.
+
+ Click **Save instance**. Mintlify encrypts the secret at rest and never returns it to the browser after saving.
+
+
+ Click **Authorize self-hosted GitLab**. You'll be redirected to your GitLab instance, prompted to sign in if needed, and shown a consent screen listing the requested scopes.
+
+ After you click **Authorize** on GitLab, you'll be redirected back to Mintlify and the new connection appears in the installations list, badged with your instance hostname.
+
+
+ Expand the connection in the dashboard. Mintlify lists every group your authorizing user has Maintainer or higher access to, plus a **Personal projects** entry for projects in the user's personal namespace.
+
+ Check the box next to each project that should participate in workflows. Mintlify registers a webhook on the project, generates a secret token, and stores it encrypted. From then on, Mintlify receives push and merge-request events from your instance for that project.
+
+
+ The connecting user must have **Maintainer** role on a project for Mintlify to mint short-lived project access tokens during workflow runs. Without Maintainer, the agent can read but cannot push commits or open merge requests.
+
+
+
+
+## Rotate credentials
+
+If you need to change the registered application's client secret — for example after renewing it on GitLab — remove the saved instance in Mintlify and add it again with the new values. Active OAuth connections must be revoked first; Mintlify will block the removal otherwise.
+
+
+
+ Click **Revoke** on every installation listed under the self-hosted instance. This removes the webhook on every connected project and revokes the OAuth token on GitLab.
+
+
+ In the **Self-hosted GitLab** card, click **Remove instance**.
+
+
+ Follow the **Set up the connection** steps above with the new client secret.
+
+
+
+## Troubleshooting
+
+### `invalid_client` after authorizing
+
+GitLab rejected the token-exchange step because the client secret Mintlify sent doesn't match what's registered on the application. The most common cause is that the secret was rotated on GitLab — by an explicit **Renew secret**, or silently when the application was edited — and the value in Mintlify is stale.
+
+Fix: rotate credentials following the [Rotate credentials](#rotate-credentials) flow above with the current secret.
+
+### Webhook registration failed: `Invalid url given`
+
+GitLab refused to register the webhook because the URL Mintlify sent (`https://dashboard.mintlify.com/gitlab-oauth-webhook`) was rejected by GitLab's outbound-request allowlist. Self-hosted instances reject "local" URLs unless the admin explicitly allows them.
+
+Fix: in your GitLab admin area, go to **Settings** \> **Network** \> **Outbound requests** and ensure **Allow requests to the local network from webhooks and integrations** is enabled — or, if your network policy blocks `dashboard.mintlify.com`, contact your network admin to allow outbound HTTPS to that host.
+
+### No consent screen on authorize
+
+If you don't see GitLab's consent dialog when authorizing, either:
+
+- The application is marked **Trusted** on GitLab. Trusted applications skip consent for all users. Uncheck **Trusted** in the application settings if you want users to see and confirm scopes.
+- Your GitLab user has previously authorized the application with the same scopes. GitLab remembers prior grants and skips consent on subsequent authorizes. Revoke the application authorization in **User settings** \> **Applications** \> **Authorized applications** to see consent again.
+
+### `host.docker.internal` and other local development URLs
+
+If you're testing against a GitLab instance running in Docker on your laptop, the OAuth callback URL on the application must match the URL your local Mintlify instance uses (typically `http://localhost:3000/api/gitlab-oauth/callback`), not `dashboard.mintlify.com`. The webhook URL Mintlify registers on your project will reflect whatever `API_ENDPOINT` your dev server is configured with — make sure that's reachable from inside your GitLab container (for example, `http://host.docker.internal:5000/gitlab-oauth-webhook` rather than `localhost`).
\ No newline at end of file
diff --git a/docs.json b/docs.json
index 997df9ddb..80259317b 100644
--- a/docs.json
+++ b/docs.json
@@ -209,7 +209,8 @@
"deploy/ci",
"deploy/github",
"deploy/ghes",
- "deploy/gitlab"
+ "deploy/gitlab",
+ "deploy/gitlab-self-hosted"
]
},
{
From 509dcd1d0414059b3cc1139526f768b8ca04fd30 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 23:01:16 +0000
Subject: [PATCH 02/15] Fix punctuation in GitLab self-hosted docs
Mintlify-Source: dashboard-editor
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index d649040fa..a67160ad5 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -4,7 +4,7 @@ description: "Connect a self-hosted GitLab instance to Mintlify via OAuth so wor
keywords: ["GitLab", "self-hosted", "OAuth", "workflows", "enterprise"]
---
-Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in addition to gitlab.com. OAuth lets the Mintlify agent act as a GitLab user during workflow runs — cloning repositories, pushing commits, opening merge requests, and registering project webhooks. You'll need this if you run your own GitLab and want to use workflows.
+Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in addition to gitlab.com. OAuth lets the Mintlify agent act as a GitLab user during workflow runs: cloning repositories, pushing commits, opening merge requests, and registering project webhooks. You'll need this if you run your own GitLab and want to use workflows.
Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. You'll create the application on your GitLab instance, share its credentials with Mintlify, and then go through a normal OAuth authorization to connect a user.
From 4d26e72b8252f44be686ad8ba8abb670686b0241 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 23:02:50 +0000
Subject: [PATCH 03/15] Clarify GitLab self-hosted OAuth vs. deploy token
Mintlify-Source: dashboard-editor
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index a67160ad5..53f5c1971 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -9,7 +9,7 @@ Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in
Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. You'll create the application on your GitLab instance, share its credentials with Mintlify, and then go through a normal OAuth authorization to connect a user.
- This guide is only for the **OAuth** integration that powers workflows. The deployment-side connection (used for content sync and previews) is configured separately with a deploy token — see the [GitLab guide](/deploy/gitlab). The two integrations are independent and can be set up in any order.
+ This guide is only for the **OAuth** integration that powers workflows. The deployment-side connection (used for content sync and previews) is configured separately with a deploy token, see the [GitLab guide](/deploy/gitlab). The OAuth integration is dependent on that and can only be setup _after_ the fact.
## Prerequisites
From 454ec5f292dfb19d73b706ea939b76b6f0d298e3 Mon Sep 17 00:00:00 2001
From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 23:06:01 +0000
Subject: [PATCH 04/15] Remove outdated GitLab self-hosted troubleshooting
Mintlify-Source: dashboard-editor
---
deploy/gitlab-self-hosted.mdx | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 53f5c1971..0f8226791 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -103,8 +103,4 @@ Fix: in your GitLab admin area, go to **Settings** \> **Network** \> **Outbound
If you don't see GitLab's consent dialog when authorizing, either:
- The application is marked **Trusted** on GitLab. Trusted applications skip consent for all users. Uncheck **Trusted** in the application settings if you want users to see and confirm scopes.
-- Your GitLab user has previously authorized the application with the same scopes. GitLab remembers prior grants and skips consent on subsequent authorizes. Revoke the application authorization in **User settings** \> **Applications** \> **Authorized applications** to see consent again.
-
-### `host.docker.internal` and other local development URLs
-
-If you're testing against a GitLab instance running in Docker on your laptop, the OAuth callback URL on the application must match the URL your local Mintlify instance uses (typically `http://localhost:3000/api/gitlab-oauth/callback`), not `dashboard.mintlify.com`. The webhook URL Mintlify registers on your project will reflect whatever `API_ENDPOINT` your dev server is configured with — make sure that's reachable from inside your GitLab container (for example, `http://host.docker.internal:5000/gitlab-oauth-webhook` rather than `localhost`).
\ No newline at end of file
+- Your GitLab user has previously authorized the application with the same scopes. GitLab remembers prior grants and skips consent on subsequent authorizes. Revoke the application authorization in **User settings** \> **Applications** \> **Authorized applications** to see consent again.
\ No newline at end of file
From 7f565c4dd3c95a4ec88248b5dd512a8798d3eb62 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:55:47 -0700
Subject: [PATCH 05/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 0f8226791..f147afb72 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -4,7 +4,9 @@ description: "Connect a self-hosted GitLab instance to Mintlify via OAuth so wor
keywords: ["GitLab", "self-hosted", "OAuth", "workflows", "enterprise"]
---
-Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in addition to gitlab.com. OAuth lets the Mintlify agent act as a GitLab user during workflow runs: cloning repositories, pushing commits, opening merge requests, and registering project webhooks. You'll need this if you run your own GitLab and want to use workflows.
+Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in addition to gitlab.com. OAuth lets the Mintlify agent act as a GitLab user during workflow runs: cloning repositories, pushing commits, opening merge requests, and registering project webhooks.
+
+You must configure OAuth authorization for self-hosted GitLab instances to support [workflows](/workflows).
Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. You'll create the application on your GitLab instance, share its credentials with Mintlify, and then go through a normal OAuth authorization to connect a user.
From 29fde64a88ec3ea861f82f6a23e5e82cdbd93f27 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:55:58 -0700
Subject: [PATCH 06/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index f147afb72..fe2095c07 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -8,7 +8,7 @@ Mintlify supports OAuth-based authorization for self-hosted GitLab instances, in
You must configure OAuth authorization for self-hosted GitLab instances to support [workflows](/workflows).
-Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. You'll create the application on your GitLab instance, share its credentials with Mintlify, and then go through a normal OAuth authorization to connect a user.
+Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. Create the application on your GitLab instance, share its credentials with Mintlify, and then go through an OAuth authorization to connect a user.
This guide is only for the **OAuth** integration that powers workflows. The deployment-side connection (used for content sync and previews) is configured separately with a deploy token, see the [GitLab guide](/deploy/gitlab). The OAuth integration is dependent on that and can only be setup _after_ the fact.
From 9cf2e14a15684d93bd6f5087bd6c00450a2b96dc Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:56:17 -0700
Subject: [PATCH 07/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index fe2095c07..e6443fa24 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -11,7 +11,7 @@ You must configure OAuth authorization for self-hosted GitLab instances to suppo
Unlike gitlab.com, where Mintlify ships a single OAuth application that every customer authorizes against, each self-hosted instance must register its own OAuth application. Create the application on your GitLab instance, share its credentials with Mintlify, and then go through an OAuth authorization to connect a user.
- This guide is only for the **OAuth** integration that powers workflows. The deployment-side connection (used for content sync and previews) is configured separately with a deploy token, see the [GitLab guide](/deploy/gitlab). The OAuth integration is dependent on that and can only be setup _after_ the fact.
+ This guide is only for the **OAuth** integration that powers workflows. You must configure the deployment-side connection (used for content sync and previews) separately with a deploy token, see the [GitLab guide](/deploy/gitlab). The OAuth integration depends on the deployment-side connection.
## Prerequisites
From f08d411eaa038359c37852ef5de3d6cd520d3af4 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:56:46 -0700
Subject: [PATCH 08/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index e6443fa24..6188b2bb7 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -17,7 +17,7 @@ Unlike gitlab.com, where Mintlify ships a single OAuth application that every cu
## Prerequisites
- Admin access to your self-hosted GitLab instance.
-- Your GitLab instance must be reachable from `https://dashboard.mintlify.com`. Instances behind a VPN or behind a firewall that blocks public ingress will not work.
+- Your GitLab instance must be reachable from `https://dashboard.mintlify.com`. Instances behind a VPN or behind a firewall that blocks public ingress do not work.
- A Mintlify organization that has the self-hosted GitLab feature enabled. Contact support if you don't see the **Self-hosted GitLab** section in **Settings → Git settings → GitLab OAuth**.
## Set up the connection
From 472d613a392e172e7a3dd8572b2d67ce5318c162 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:56:58 -0700
Subject: [PATCH 09/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 6188b2bb7..6fff478e4 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -18,7 +18,7 @@ Unlike gitlab.com, where Mintlify ships a single OAuth application that every cu
- Admin access to your self-hosted GitLab instance.
- Your GitLab instance must be reachable from `https://dashboard.mintlify.com`. Instances behind a VPN or behind a firewall that blocks public ingress do not work.
-- A Mintlify organization that has the self-hosted GitLab feature enabled. Contact support if you don't see the **Self-hosted GitLab** section in **Settings → Git settings → GitLab OAuth**.
+- A Mintlify organization that has the self-hosted GitLab feature enabled. Contact support if you don't see the **Self-hosted GitLab** section in your [Git settings](https://dashboard.mintlify.com/settings/deployment/git-settings) dashboard page.
## Set up the connection
From f5c15eccfd060fe705f5b95c6dd9c7000704f8f6 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:57:23 -0700
Subject: [PATCH 10/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 6fff478e4..b9f8159c0 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -41,7 +41,7 @@ Unlike gitlab.com, where Mintlify ships a single OAuth application that every cu
- After saving, GitLab displays the application's **Application ID** and **Secret**. Keep this page open — the secret is only shown once.
+ After saving, GitLab displays the application's **Application ID** and **Secret**. Keep this page open—the secret is only shown once.
In your Mintlify dashboard, open **Settings** \> **Git settings** and find the **Self-hosted GitLab** section under **GitLab OAuth**.
From 6a8390a3c0fa3c877325c09f36b5121fe9fdc87d Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:58:07 -0700
Subject: [PATCH 11/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index b9f8159c0..2616e7c99 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -72,7 +72,7 @@ Unlike gitlab.com, where Mintlify ships a single OAuth application that every cu
## Rotate credentials
-If you need to change the registered application's client secret — for example after renewing it on GitLab — remove the saved instance in Mintlify and add it again with the new values. Active OAuth connections must be revoked first; Mintlify will block the removal otherwise.
+If you need to change the registered application's client secret—for example after renewing it on GitLab—remove the saved instance in Mintlify and add it again with the new values. You must revoke active OAuth connections first; otherwise Mintlify blocks the removal.
From 0c1e1005930377dc69ccee80aea9695da702067e Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:58:18 -0700
Subject: [PATCH 12/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 2616e7c99..6f54c02fd 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -82,7 +82,7 @@ If you need to change the registered application's client secret—for example a
In the **Self-hosted GitLab** card, click **Remove instance**.
- Follow the **Set up the connection** steps above with the new client secret.
+ Follow the **Set up the connection** steps described earlier with the new client secret.
From 516d149240456cd4b5e85b470db29b550d4ef2fa Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:58:34 -0700
Subject: [PATCH 13/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 6f54c02fd..4777a603f 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -90,7 +90,7 @@ If you need to change the registered application's client secret—for example a
### `invalid_client` after authorizing
-GitLab rejected the token-exchange step because the client secret Mintlify sent doesn't match what's registered on the application. The most common cause is that the secret was rotated on GitLab — by an explicit **Renew secret**, or silently when the application was edited — and the value in Mintlify is stale.
+GitLab rejected the token-exchange step because the client secret Mintlify sent doesn't match what's registered on the application. The most common cause is that a secret rotated on GitLab—by an explicit **Renew secret**, or silently when someone edited the application—and the value in Mintlify is stale.
Fix: rotate credentials following the [Rotate credentials](#rotate-credentials) flow above with the current secret.
From ac74f103db5da7cdda95faddc32cb4e0c9155692 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:58:45 -0700
Subject: [PATCH 14/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 4777a603f..5fc315134 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -92,7 +92,7 @@ If you need to change the registered application's client secret—for example a
GitLab rejected the token-exchange step because the client secret Mintlify sent doesn't match what's registered on the application. The most common cause is that a secret rotated on GitLab—by an explicit **Renew secret**, or silently when someone edited the application—and the value in Mintlify is stale.
-Fix: rotate credentials following the [Rotate credentials](#rotate-credentials) flow above with the current secret.
+Fix: rotate credentials following the [Rotate credentials](#rotate-credentials) steps with the current secret.
### Webhook registration failed: `Invalid url given`
From 1f62f6f7c00937135fcffeed4293b55b9f0adbc2 Mon Sep 17 00:00:00 2001
From: Hammad Shami <46585994+H2Shami@users.noreply.github.com>
Date: Thu, 7 May 2026 16:59:06 -0700
Subject: [PATCH 15/15] Update deploy/gitlab-self-hosted.mdx
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com>
---
deploy/gitlab-self-hosted.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/deploy/gitlab-self-hosted.mdx b/deploy/gitlab-self-hosted.mdx
index 5fc315134..1c34e75f2 100644
--- a/deploy/gitlab-self-hosted.mdx
+++ b/deploy/gitlab-self-hosted.mdx
@@ -98,7 +98,7 @@ Fix: rotate credentials following the [Rotate credentials](#rotate-credentials)
GitLab refused to register the webhook because the URL Mintlify sent (`https://dashboard.mintlify.com/gitlab-oauth-webhook`) was rejected by GitLab's outbound-request allowlist. Self-hosted instances reject "local" URLs unless the admin explicitly allows them.
-Fix: in your GitLab admin area, go to **Settings** \> **Network** \> **Outbound requests** and ensure **Allow requests to the local network from webhooks and integrations** is enabled — or, if your network policy blocks `dashboard.mintlify.com`, contact your network admin to allow outbound HTTPS to that host.
+Fix: in your GitLab admin area, go to **Settings** \> **Network** \> **Outbound requests** and enable **Allow requests to the local network from webhooks and integrations**. If your network policy blocks `dashboard.mintlify.com`, contact your network admin to allow outbound HTTPS to that host.
### No consent screen on authorize