From 065250a108e4f9be1bb55a7f96e79ab6b03d5a91 Mon Sep 17 00:00:00 2001
From: Florian Forster
@@ -24,7 +24,7 @@ export default function CreateApp(props) {
diff --git a/docs/docs/guides/integrate/application/auth-type.mdx b/docs/docs/guides/integrate/application/auth-type.mdx
index c5e17a43c..d83f08894 100644
--- a/docs/docs/guides/integrate/application/auth-type.mdx
+++ b/docs/docs/guides/integrate/application/auth-type.mdx
@@ -84,7 +84,7 @@ export const pkce = () => (
-
+
+
-
+
+
Select the authentication method
@@ -100,7 +100,7 @@ export const code = () => (
@@ -116,7 +116,7 @@ export const jwt = () => (
@@ -136,7 +136,7 @@ export const post = () => (
@@ -155,7 +155,7 @@ export const implicit = () => (
@@ -174,7 +174,7 @@ export const basic = () => (
diff --git a/docs/docs/guides/integrate/application/generate-key.mdx b/docs/docs/guides/integrate/application/generate-key.mdx
index 9df2971ed..947d05346 100644
--- a/docs/docs/guides/integrate/application/generate-key.mdx
+++ b/docs/docs/guides/integrate/application/generate-key.mdx
@@ -11,7 +11,7 @@ export default function GenerateKey(props) {
) : null;
diff --git a/docs/docs/guides/integrate/application/review-config.mdx b/docs/docs/guides/integrate/application/review-config.mdx
index 3a15f5112..4ff4a053e 100644
--- a/docs/docs/guides/integrate/application/review-config.mdx
+++ b/docs/docs/guides/integrate/application/review-config.mdx
@@ -22,7 +22,7 @@ export default function ReviewConfig(props) {
diff --git a/docs/docs/guides/integrate/authmethods/basic.mdx b/docs/docs/guides/integrate/authmethods/basic.mdx
index a621d8972..5f4fbfbb5 100644
--- a/docs/docs/guides/integrate/authmethods/basic.mdx
+++ b/docs/docs/guides/integrate/authmethods/basic.mdx
@@ -21,12 +21,12 @@ the authentication process. The latter is used to bind the client session with t
You don't need any additional parameter for this request. We're identifying the app by the `client_id` parameter.
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -43,7 +43,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
@@ -56,7 +56,7 @@ Next you will have to exchange the given `code` for the tokens. For this HTTP PO
Depending on your authentication method you'll need additional headers and parameters:
Send your `client_id` and `client_secret` as Basic Auth Header. Note that OAuth2 requires client_id and client_secret to be form url encoded.
-So check [Client Secret Basic Auth Method](/docs/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
+So check [Client Secret Basic Auth Method](/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
```curl
curl --request POST \
diff --git a/docs/docs/guides/integrate/authmethods/implicit.mdx b/docs/docs/guides/integrate/authmethods/implicit.mdx
index a2893972a..3c5554693 100644
--- a/docs/docs/guides/integrate/authmethods/implicit.mdx
+++ b/docs/docs/guides/integrate/authmethods/implicit.mdx
@@ -7,7 +7,7 @@ We therefore discourage the use of Implicit Flow and do not cover the flow in th
:::
If you still need to rely on the implicit flow, simply keep in mind that the response on the authorization_endpoint is
-the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/docs/apis/openidoauth/endpoints) for more information.
+the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/apis/openidoauth/endpoints) for more information.
#### redirect_uri
@@ -32,7 +32,7 @@ When using the Implicit Flow you will also have to provide a `nonce` parameter t
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -46,4 +46,4 @@ Upon successful authentication you'll be given the `access_token`, `id_token`, `
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
diff --git a/docs/docs/guides/integrate/authmethods/jwtpk.mdx b/docs/docs/guides/integrate/authmethods/jwtpk.mdx
index 4d896b248..037df10d9 100644
--- a/docs/docs/guides/integrate/authmethods/jwtpk.mdx
+++ b/docs/docs/guides/integrate/authmethods/jwtpk.mdx
@@ -23,12 +23,12 @@ You don't need any additional parameter for this request. We're identifying the
So your request might look like this (linebreaks and whitespace for display reasons):
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -45,7 +45,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/authmethods/pkce.mdx b/docs/docs/guides/integrate/authmethods/pkce.mdx
index 523bc1383..d2bb2fd90 100644
--- a/docs/docs/guides/integrate/authmethods/pkce.mdx
+++ b/docs/docs/guides/integrate/authmethods/pkce.mdx
@@ -29,12 +29,12 @@ the hash as well and to verify it's correct. In order to do so you're required t
For example for `random-string` the code_challenge would be `9az09PjcfuENS7oDK7jUd2xAWRb-B3N7Sr3kDoWECOY`
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -51,7 +51,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/authmethods/pkcenative.mdx b/docs/docs/guides/integrate/authmethods/pkcenative.mdx
index e5ea14db0..2fd5f9f13 100644
--- a/docs/docs/guides/integrate/authmethods/pkcenative.mdx
+++ b/docs/docs/guides/integrate/authmethods/pkcenative.mdx
@@ -20,7 +20,7 @@ with a custom protocol, you will need to add the origin where the app is served
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -37,7 +37,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/serviceusers.md b/docs/docs/guides/integrate/serviceusers.md
index 449e39c4d..e30fe39b8 100644
--- a/docs/docs/guides/integrate/serviceusers.md
+++ b/docs/docs/guides/integrate/serviceusers.md
@@ -2,7 +2,7 @@
title: Service Users
---
-This is a guide on how to create service users in ZITADEL. You can read more about users [here](/docs/concepts/structure/users.md).
+This is a guide on how to create service users in ZITADEL. You can read more about users [here](/concepts/structure/users.md).
## Create a Service User
1. Navigate to Service Users
diff --git a/docs/docs/guides/manage/console/actions.mdx b/docs/docs/guides/manage/console/actions.mdx
index 2f6d2a345..db31b4fec 100644
--- a/docs/docs/guides/manage/console/actions.mdx
+++ b/docs/docs/guides/manage/console/actions.mdx
@@ -5,7 +5,7 @@ title: Actions
An Identity and Management system is a very interactive place. ZITADEL has built in functionality to react to its events. This functionality is called **Actions** and can be accessed from your organizations top navigation.
@@ -14,12 +14,12 @@ Actions allow you to define scripts which are then run on certain triggers.
To add an action, click at the **new** button and provide a script and a name.
You can specify a timeout and whether the action is allowed to fail too.
-
+
To run those scripts, a flow with a trigger has to be created.
This could for example be a **External Authentication** Flow, with a **Post Authentication** trigger.
-
+
Now whenever a user gets authenticated externally with an IDP, a action is triggered after the authentication itself.
-If you want to know more where actions can be useful, take a look at the feature [here](/docs/concepts/features/actions) or directly jump to an example of a custom behaviour [here](/docs/guides/manage/customize/behavior).
+If you want to know more where actions can be useful, take a look at the feature [here](/concepts/features/actions) or directly jump to an example of a custom behaviour [here](/guides/manage/customize/behavior).
diff --git a/docs/docs/guides/manage/console/applications.mdx b/docs/docs/guides/manage/console/applications.mdx
index 5a4d1661a..f17a3f340 100644
--- a/docs/docs/guides/manage/console/applications.mdx
+++ b/docs/docs/guides/manage/console/applications.mdx
@@ -19,7 +19,7 @@ To access your applications, navigate to your project and select your applicatio
@@ -31,7 +31,7 @@ To add an application to your project, click on the add button and select your a
@@ -97,7 +97,7 @@ Native applications can use a different protocol than http or https in order to
@@ -116,7 +116,7 @@ You can easily change your authentication method via the colored toggle on top o
@@ -125,7 +125,7 @@ Tasks for completion are shown in the field.
@@ -136,7 +136,7 @@ On the bottom you can optionally set a **ClockSkew** time which is added to the
@@ -147,7 +147,7 @@ Note that for local development you most likely have to enable development mode,
@@ -157,6 +157,6 @@ If you need to allow additional origins which should **NOT** be used as redirect
diff --git a/docs/docs/guides/manage/console/instance-settings.mdx b/docs/docs/guides/manage/console/instance-settings.mdx
index 0ad29e4a4..8162a670c 100644
--- a/docs/docs/guides/manage/console/instance-settings.mdx
+++ b/docs/docs/guides/manage/console/instance-settings.mdx
@@ -7,7 +7,7 @@ Instance settings work as default or fallback settings for your organizational s
To access instance settings, use the instance page at `{instanceDomain}/ui/console/settings` or click at the instance button on the **top-right** of the page and then navigate to settings in the navigation.
@@ -66,13 +66,13 @@ To configure your custom SMTP please fill the following fields:
- User
- SMTP Password
-
+
### SMS
No default provider is configured to send some SMS to your users. If you like to validate the phone numbers of your users make sure to add your twilio configuration by adding your Sid, Token and Sender Number.
-
+
## Login Behaviour and Access
@@ -87,7 +87,7 @@ The Login Policy defines how the login process should look like and which authen
| Passwordless | Choose if passwordless login is allowed or not |
@@ -141,7 +141,7 @@ The following properties can be set:
- Has Symbol
@@ -156,7 +156,7 @@ The following settings are available:
If an account is locked, the administrator has to unlock it in the ZITADEL console
-
+
## Domain settings
@@ -188,7 +188,7 @@ Example:
`https://demo.com/tos-{{.Lang}}`
@@ -208,7 +208,7 @@ These are the texts for your notification mails. Available for change are:
You can set the locale of the translations on the right.
@@ -217,7 +217,7 @@ You can set the locale of the translations on the right.
These are the texts for the login. Just like for message texts, you can select the locale on the right.
-
+
## OIDC token lifetimes and expiration
@@ -230,7 +230,7 @@ You can set the following times:
- Refresh Token Idle Expiration
@@ -249,7 +249,7 @@ The following secrets can be configured:
- Application secrets
diff --git a/docs/docs/guides/manage/console/managers.mdx b/docs/docs/guides/manage/console/managers.mdx
index e3b771f14..70073a1d8 100644
--- a/docs/docs/guides/manage/console/managers.mdx
+++ b/docs/docs/guides/manage/console/managers.mdx
@@ -9,14 +9,14 @@ import ManagerDescription from "../../../concepts/structure/_manager_description
To configure managers in ZITADEL go to the resource where you like to add it (e.g Instance, Organization, Project, GrantedProject).
In the right part of the console you can finde **MANAGERS** in the details part. Here you have a list of the current managers and can add a new one.
-
+
When adding a new manager, you can select multiple roles some of which are only allowed to read data.
This can be especially useful if you add service users for one of your projects where you only need read access.
Per default you will only search for users within the selected organization. If you like to give a role to a user outside the organization you need to switch to the global search and type the exact loginname of the users. This will prevent allowing users to guess users from other organizations.
-
+
## Roles
diff --git a/docs/docs/guides/manage/console/organizations.mdx b/docs/docs/guides/manage/console/organizations.mdx
index 60887f8a8..32b6ee4c4 100644
--- a/docs/docs/guides/manage/console/organizations.mdx
+++ b/docs/docs/guides/manage/console/organizations.mdx
@@ -18,7 +18,7 @@ If you choose your logged in user as organization manager, a membership for the
@@ -27,7 +27,7 @@ The customer needs to fill in the form with the organization name and the contac
diff --git a/docs/docs/guides/manage/console/overview.mdx b/docs/docs/guides/manage/console/overview.mdx
index 6df974e6f..9553f06b5 100644
--- a/docs/docs/guides/manage/console/overview.mdx
+++ b/docs/docs/guides/manage/console/overview.mdx
@@ -15,7 +15,7 @@ The console has a context switcher on the **top-left** where your current organi
Depending on your use case, multiple organizations can be created (B2B) or you can stick to your global organization (B2C). To get an understanding of your use cases and how we recommend setting up your organizations, read the [Solution Scenario](../../solution-scenarios/introduction) guides.
diff --git a/docs/docs/guides/manage/console/projects.mdx b/docs/docs/guides/manage/console/projects.mdx
index 33039fdd9..2acf0df86 100644
--- a/docs/docs/guides/manage/console/projects.mdx
+++ b/docs/docs/guides/manage/console/projects.mdx
@@ -19,7 +19,7 @@ You would have to create roles for administration and your clients in this very
To create a project, navigate to your organization, then projects or directly via
+
then enter your project name and continue.
@@ -41,7 +41,7 @@ Organizations can then create authorizations for their users on their own. The p
@@ -49,7 +49,7 @@ Organizations can then create authorizations for their users on their own. The p
1. Visit the project `POS` that you have created before, then in the section **Grants** click **New**.
-
+
2. Enter the domain of the organization you want to grant (go to the organization detail page if you can't remember it), hit the search button and continue.
3. Select some roles you would like to grant to the organization and confirm.
@@ -62,7 +62,7 @@ Organizations can then create authorizations for their users on their own. The p
If you have different designs for your organizations or probably and use project grants, you can define the login behaviour on the project detail page.
@@ -75,7 +75,7 @@ You can choose from
| Enforce project resource owner policy | This setting will enforce the private labeling of the organization (resource owner) of the project through the whole login process. |
| Allow Login User resource owner policy | With this setting first the private labeling of the organization (resource owner) of the project will trigger. As soon as the user and its organization (resource owner) is identified by ZITADEL, the settings will change to the organization of the user. |
-In a B2B use case, you would typically use the organization setting. If you want to omit organization detection, you can preselect an organization with the [primary domain scope](/docs/apis/openidoauth/scopes#reserved-scopes) (ex. `urn:zitadel:iam:org:domain:primary:{domainname}`).
+In a B2B use case, you would typically use the organization setting. If you want to omit organization detection, you can preselect an organization with the [primary domain scope](/apis/openidoauth/scopes#reserved-scopes) (ex. `urn:zitadel:iam:org:domain:primary:{domainname}`).
### Role settings
@@ -88,7 +88,7 @@ Below the branding settings, you can check different checkboxes to get even more
It is checked whether the user's organization has this project. If not, the user cannot be authenticated.
@@ -96,7 +96,7 @@ Below the branding settings, you can check different checkboxes to get even more
If you want to have roles in your token, this has to be set in your applications as this is dependent on your application type. Navigate to your application and check this setting if you want so.
diff --git a/docs/docs/guides/manage/console/roles.mdx b/docs/docs/guides/manage/console/roles.mdx
index 767f53b67..acf09127d 100644
--- a/docs/docs/guides/manage/console/roles.mdx
+++ b/docs/docs/guides/manage/console/roles.mdx
@@ -17,7 +17,7 @@ and
- Display Name: Accountant
- Group: Administration
-
+
The **Key** is used for coding (can then for example be requested in the ID Token).
@@ -25,7 +25,7 @@ The **Display Name** is just for you remembering its use case
The **Group** is for making multiple roles selectable more easy.
-
+
> The role client is for an other application of the project `POS`, as all possible roles from your POS applications are defined in your project.
@@ -36,14 +36,14 @@ An authorization combines a user of your organization with one or multiple roles
> You can also add users of other organizations, if you want to do so click on the hint below the username field.
-
+
If your wanted to test your application with your own user, navigate to the **Authorizations** section under your project and click on **new**.
Type your username, hit continue, select the roles you want your user to have and save. If you want to add all roles of the Administration group, you can click on the group to select all.
diff --git a/docs/docs/guides/manage/console/users.mdx b/docs/docs/guides/manage/console/users.mdx
index 46c6a00de..90149be53 100644
--- a/docs/docs/guides/manage/console/users.mdx
+++ b/docs/docs/guides/manage/console/users.mdx
@@ -7,7 +7,7 @@ ZITADEL differs two different types of users:
- Users (Humans)
- Service Users (Machine Accounts)
-
+
A human user has an email address and a password, and can additionally save information about phone, nickname, gender, language.
A service user only has a name and a description aside his username.
@@ -27,11 +27,11 @@ import TabItem from "@theme/TabItem";
+
@@ -46,7 +46,7 @@ You can prompt the user to add a second factor method too by checking the **Forc
When logged in, a user can then manage his profile in console himself, adding a profile picture, external IDPs and Passwordless authentication devices.
-
+
## Metadata
@@ -58,17 +58,17 @@ Just navigate to the section **Metadata** and click on **edit**.
Metadata can requested via our auth and management APIs, from userinfo endpoint or ID Token.
-To get your metadata from the userinfo endpoint, add `urn:zitadel:iam:user:metadata` to your authentication request. Take a look at our reserved scopes [here](/docs/apis/openidoauth/scopes#reserved-scopes) or take a look at our [metadata guide](../customize/user-metadata).
+To get your metadata from the userinfo endpoint, add `urn:zitadel:iam:user:metadata` to your authentication request. Take a look at our reserved scopes [here](/apis/openidoauth/scopes#reserved-scopes) or take a look at our [metadata guide](../customize/user-metadata).
You can then toggle **User Info inside ID Token** in your application settings, if you need this information in the ID Token too.
diff --git a/docs/docs/guides/manage/customize/branding.md b/docs/docs/guides/manage/customize/branding.md
index 6242bfeb7..7e90dfd9f 100644
--- a/docs/docs/guides/manage/customize/branding.md
+++ b/docs/docs/guides/manage/customize/branding.md
@@ -46,7 +46,7 @@ If you like to trigger your settings for your applications you have different po
Send a [reserved scope](../../../apis/openidoauth/scopes) with your [authorization request](../../integrate/login-users#auth-request) to trigger your organization.
The primary domain scope will restrict the login to your organization, so only users of your own organization will be able to login.
-You can use our [OpenID Authentication Request Playground](/docs/apis/openidoauth/authrequest) to learn more about how to trigger an [organization's policies and branding](/docs/apis/openidoauth/authrequest#organization-policies-and-branding).
+You can use our [OpenID Authentication Request Playground](/apis/openidoauth/authrequest) to learn more about how to trigger an [organization's policies and branding](/apis/openidoauth/authrequest#organization-policies-and-branding).
### 2. Setting on your Project
diff --git a/docs/docs/guides/manage/customize/user-metadata.md b/docs/docs/guides/manage/customize/user-metadata.md
index 7a692ea5e..5b3321019 100644
--- a/docs/docs/guides/manage/customize/user-metadata.md
+++ b/docs/docs/guides/manage/customize/user-metadata.md
@@ -107,7 +107,7 @@ Export the result to the environment variable `BASIC_AUTH`.
### Create Auth Request
-You need to create a valid auth request, including the reserved scope `urn:zitadel:iam:user:metadata`. Please refer to our API documentation for more information about [reserved scopes](../../../apis/openidoauth/scopes#reserved-scopes) or try it out in our [OIDC Authrequest Playground](/docs/apis/openidoauth/authrequest?scope=openid%20email%20profile%20urn%3Azitadel%3Aiam%3Auser%3Ametadata).
+You need to create a valid auth request, including the reserved scope `urn:zitadel:iam:user:metadata`. Please refer to our API documentation for more information about [reserved scopes](../../../apis/openidoauth/scopes#reserved-scopes) or try it out in our [OIDC Authrequest Playground](/apis/openidoauth/authrequest?scope=openid%20email%20profile%20urn%3Azitadel%3Aiam%3Auser%3Ametadata).
Login with the user to which you have added the metadata. After the login you will be redirected.
diff --git a/docs/docs/guides/manage/self-hosted/configure/configure.mdx b/docs/docs/guides/manage/self-hosted/configure/configure.mdx
index 561ff5e28..9bfd9c37e 100644
--- a/docs/docs/guides/manage/self-hosted/configure/configure.mdx
+++ b/docs/docs/guides/manage/self-hosted/configure/configure.mdx
@@ -80,4 +80,4 @@ This is the IAM admin users login according to your configuration in the [exampl
:::caution
-The ZITADEL management console [requires end-to-end HTTP/2 support](/docs/guides/manage/self-hosted/http2)
+The ZITADEL management console [requires end-to-end HTTP/2 support](/guides/manage/self-hosted/http2)
diff --git a/docs/docs/guides/manage/self-hosted/http2.mdx b/docs/docs/guides/manage/self-hosted/http2.mdx
index 8ab671c27..626f81f54 100644
--- a/docs/docs/guides/manage/self-hosted/http2.mdx
+++ b/docs/docs/guides/manage/self-hosted/http2.mdx
@@ -9,7 +9,7 @@ To make us of gRPC it is vital to allow your clients to communicate with ZITADEL
Sometimes you need to configure explicitly that you want to use HTTP/2 if you run ZITADEL behind a reverse proxy and below you should find examples for different vendors and projects.
-Furthermore it is important to notice that by default HTTP/2 is always encrypted, but if you want to run ZITADEL without TLS from your reverse proxy or service mesh this is possible through [h2c](https://httpd.apache.org/docs/2.4/howto/http2.html).
+Furthermore it is important to notice that by default HTTP/2 is always encrypted, but if you want to run ZITADEL without TLS from your reverse proxy or service mesh this is possible through [h2c](https://httpd.apache.org/2.4/howto/http2.html).
Oftentimes when you run ZITADEL inside a service mesh, or a servelerss offering (e.g. Google Cloud Run, Knative, ...) you will need h2c.
-You can read more about ZITADEL's [TLSs modes here](/docs/guides/manage/self-hosted/tls_modes).
+You can read more about ZITADEL's [TLSs modes here](/guides/manage/self-hosted/tls_modes).
diff --git a/docs/docs/guides/manage/self-hosted/production.md b/docs/docs/guides/manage/self-hosted/production.md
index 83079e7c9..7e5bce885 100644
--- a/docs/docs/guides/manage/self-hosted/production.md
+++ b/docs/docs/guides/manage/self-hosted/production.md
@@ -2,29 +2,29 @@
title: Production Checklist
---
-As soon as you successfully deployed ZITADEL as a proof of concept using one of our [deployment guides](/docs/guides/deploy/overview),
+As soon as you successfully deployed ZITADEL as a proof of concept using one of our [deployment guides](/guides/deploy/overview),
you are ready to configure ZITADEL for production usage.
## High Availability
-We recommend running ZITADEL highly available using an orchestrator that schedules ZITADEL on multiple servers, like [Kubernetes](/docs/guides/deploy/kubernetes). For keeping startup times fast when scaling ZITADEL, you should also consider using separate jobs with `zitadel init` and `zitadel setup`, so your workload containers just have to execute `zitadel start`.
+We recommend running ZITADEL highly available using an orchestrator that schedules ZITADEL on multiple servers, like [Kubernetes](/guides/deploy/kubernetes). For keeping startup times fast when scaling ZITADEL, you should also consider using separate jobs with `zitadel init` and `zitadel setup`, so your workload containers just have to execute `zitadel start`.
## Configuration
-Read [on the configure page](/docs/guides/manage/self-hosted/configure) about the available options you have to configure ZITADEL.
+Read [on the configure page](/guides/manage/self-hosted/configure) about the available options you have to configure ZITADEL.
## Networking
-- To make ZITADEL available at the domain of your choice, [you need to configure the ExternalDomain property](/docs/guides/manage/self-hosted/custom-domain).
-- To enable and restrict access to **HTTPS**, head over to [the description of your TLS options](/docs/guides/manage/self-hosted/tls_modes).
-- If you want to front ZITADEL with a reverse proxy, web application firewall or content delivery network, make sure to support **[HTTP/2](/docs/guides/manage/self-hosted/http2)**.
-- You can also refer to some **[example reverse proxy configurations](/docs/guides/manage/self-hosted/reverseproxy/reverse_proxy)**.
+- To make ZITADEL available at the domain of your choice, [you need to configure the ExternalDomain property](/guides/manage/self-hosted/custom-domain).
+- To enable and restrict access to **HTTPS**, head over to [the description of your TLS options](/guides/manage/self-hosted/tls_modes).
+- If you want to front ZITADEL with a reverse proxy, web application firewall or content delivery network, make sure to support **[HTTP/2](/guides/manage/self-hosted/http2)**.
+- You can also refer to some **[example reverse proxy configurations](/guides/manage/self-hosted/reverseproxy/reverse_proxy)**.
- The ZITADEL Console web GUI uses many gRPC-Web stubs. This results in a fairly big JavaScript bundle. You might want to compress it using [Gzip](https://www.gnu.org/software/gzip/) or [Brotli](https://github.com/google/brotli).
- Serving and caching the assets using a content delivery network could improve network latencies and shield your ZITADEL runtime.
## Monitoring
-By default, [**metrics**](docs/apis/observability/metrics) are exposed at /debug/metrics in OpenTelemetry (otel) format.
+By default, [**metrics**](/apis/observability/metrics) are exposed at /debug/metrics in OpenTelemetry (otel) format.
Also, you can enable **tracing** in the ZITADEL configuration.
@@ -48,7 +48,7 @@ Also, if you are concerned about multi-regional data locality,
### Configure ZITADEL
-Depending on your environment, you maybe would want to tweak some settings about how ZITADEL interacts with the database in the database section of your ZITADEL configuration. Read more about your [database configuration options](/docs/guides/manage/self-hosted/database).
+Depending on your environment, you maybe would want to tweak some settings about how ZITADEL interacts with the database in the database section of your ZITADEL configuration. Read more about your [database configuration options](/guides/manage/self-hosted/database).
```yaml
Database:
@@ -64,7 +64,7 @@ Database:
Options: ""
```
-You also might want to configure how [projections](/docs/concepts/eventstore/implementation#projections) are computed. These are the default values:
+You also might want to configure how [projections](/concepts/eventstore/implementation#projections) are computed. These are the default values:
```yaml
Projections:
@@ -101,7 +101,7 @@ or [for PostgreSQL](https://www.postgresql.org/docs/current/admin.html).
## Data Initialization
- You can configure instance defaults in the DefaultInstance section.
- If you plan to eventually create [multiple virtual instances](/docs/concepts/structure/instance#multiple-virtual-instances), these defaults take effect.
+ If you plan to eventually create [multiple virtual instances](/concepts/structure/instance#multiple-virtual-instances), these defaults take effect.
Also, these configurations apply to the first instance, that ZITADEL automatically creates for you.
Especially the following properties are of special interest for your production setup.
@@ -126,7 +126,7 @@ DefaultInstance:
FromName:
```
-- If you don't want to use the DefaultInstance configuration for the first instance that ZITADEL automatically creates for you during the [setup phase](/docs/guides/manage/self-hosted/configure#database-initialization), you can provide a FirstInstance YAML section using the --steps argument.
-- Learn how to configure ZITADEL via the [Console user interface](/docs/guides/manage/console/overview).
-- Probably, you also want to [apply your custom branding](/docs/guides/manage/customize/branding), [hook into certain events](/docs/guides/manage/customize/behavior), [customize texts](/docs/guides/manage/customize/texts) or [add metadata to your users](/docs/guides/manage/customize/user-metadata).
-- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/docs/guides/manage/terraform/basics).
+- If you don't want to use the DefaultInstance configuration for the first instance that ZITADEL automatically creates for you during the [setup phase](/guides/manage/self-hosted/configure#database-initialization), you can provide a FirstInstance YAML section using the --steps argument.
+- Learn how to configure ZITADEL via the [Console user interface](/guides/manage/console/overview).
+- Probably, you also want to [apply your custom branding](/guides/manage/customize/branding), [hook into certain events](/guides/manage/customize/behavior), [customize texts](/guides/manage/customize/texts) or [add metadata to your users](/guides/manage/customize/user-metadata).
+- If you want to automatically create ZITADEL resources, you can use the [ZITADEL Terraform Provider](/guides/manage/terraform/basics).
diff --git a/docs/docs/guides/manage/self-hosted/reverseproxy/_cloudflare.mdx b/docs/docs/guides/manage/self-hosted/reverseproxy/_cloudflare.mdx
index d74dec2f8..695679faa 100644
--- a/docs/docs/guides/manage/self-hosted/reverseproxy/_cloudflare.mdx
+++ b/docs/docs/guides/manage/self-hosted/reverseproxy/_cloudflare.mdx
@@ -3,7 +3,7 @@
- [Make sure HTTP/2 is enabled](https://support.cloudflare.com/hc/en-us/articles/200168076-Understanding-Cloudflare-HTTP-2-and-HTTP-3-Support)
- [Verify that gRPC is enabled](https://support.cloudflare.com/hc/en-us/articles/360050483011-Understanding-Cloudflare-gRPC-support)
- [Verify that traffic is proxied through cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/reference/proxied-dns-records/)
-- [Configure ZITADEL to use the TLS Mode enabled](/docs/guides/manage/self-hosted/tls_modes#enabled)
+- [Configure ZITADEL to use the TLS Mode enabled](/guides/manage/self-hosted/tls_modes#enabled)
:::info
[Cloudflare does only support gRPC with TLS!](https://support.cloudflare.com/hc/en-us/articles/360050483011-Understanding-Cloudflare-gRPC-support)
diff --git a/docs/docs/guides/manage/self-hosted/reverseproxy/_more.mdx b/docs/docs/guides/manage/self-hosted/reverseproxy/_more.mdx
index 2afac6de9..36d2d136b 100644
--- a/docs/docs/guides/manage/self-hosted/reverseproxy/_more.mdx
+++ b/docs/docs/guides/manage/self-hosted/reverseproxy/_more.mdx
@@ -1,4 +1,4 @@
## More information
-- [You can read here about the TLS Modes](/docs/guides/manage/self-hosted/tls_modes)
-- [And here about how ZITADEL makes use of HTTP/2](/docs/guides/manage/self-hosted/http2)
+- [You can read here about the TLS Modes](/guides/manage/self-hosted/tls_modes)
+- [And here about how ZITADEL makes use of HTTP/2](/guides/manage/self-hosted/http2)
diff --git a/docs/docs/guides/manage/self-hosted/tls_modes.mdx b/docs/docs/guides/manage/self-hosted/tls_modes.mdx
index e8a5db7be..5219fe23a 100644
--- a/docs/docs/guides/manage/self-hosted/tls_modes.mdx
+++ b/docs/docs/guides/manage/self-hosted/tls_modes.mdx
@@ -55,4 +55,4 @@ Be aware this is not a secure setup and should only be used for test systems!
## HTTP/2
To allow ZITADEL to function properly please make sure that HTTP/2 is enabled. If you are using the mode `external` or `disabled` make sure to verify h2c compatibilty.
-You can read more about how ZITADEL utilizes in our [HTTP/2 docs](/docs/guides/manage/self-hosted/http2).
\ No newline at end of file
+You can read more about how ZITADEL utilizes in our [HTTP/2 docs](/guides/manage/self-hosted/http2).
\ No newline at end of file
diff --git a/docs/docs/guides/solution-scenarios/b2c.mdx b/docs/docs/guides/solution-scenarios/b2c.mdx
index 7429750b2..88cc98ec4 100644
--- a/docs/docs/guides/solution-scenarios/b2c.mdx
+++ b/docs/docs/guides/solution-scenarios/b2c.mdx
@@ -80,7 +80,7 @@ We'd appreciate if you could contribute to our repo with translations of your la
> Note that your console design changes to your design too
-
+
### Projects and applications
diff --git a/docs/docs/guides/start/_zitadel_cloud.mdx b/docs/docs/guides/start/_zitadel_cloud.mdx
index 3860f6b81..feea3ccfa 100644
--- a/docs/docs/guides/start/_zitadel_cloud.mdx
+++ b/docs/docs/guides/start/_zitadel_cloud.mdx
@@ -20,7 +20,7 @@ Here you can manage all your different instances, subscriptions and billing data
2. Click sign in
3. Use your ZITADEL Cloud user
-Find out more about the Customer Portal [here](/docs/guides/manage/cloud/overview).
+Find out more about the Customer Portal [here](/guides/manage/cloud/overview).
## Create a new instance
diff --git a/docs/docs/legal/data-processing-agreement.mdx b/docs/docs/legal/data-processing-agreement.mdx
index ebea49029..ebbf16286 100644
--- a/docs/docs/legal/data-processing-agreement.mdx
+++ b/docs/docs/legal/data-processing-agreement.mdx
@@ -33,7 +33,7 @@ The Processor is responsible for taking appropriate technical and organizational
### Bound by directions
-The Processor processes personal data in accordance with its privacy policy (cf. [Privacy Policy](/docs/legal/privacy-policy)) and on the documented directions of the Customer. The initial direction result from the Agreement. Subsequent instructions shall be given either in writing, whereby e-mail shall suffice, or orally with immediate written confirmation.
+The Processor processes personal data in accordance with its privacy policy (cf. [Privacy Policy](/legal/privacy-policy)) and on the documented directions of the Customer. The initial direction result from the Agreement. Subsequent instructions shall be given either in writing, whereby e-mail shall suffice, or orally with immediate written confirmation.
If the Processor is of the opinion that a direction of the Customer violates the Agreement, the GDPR or other data protection provisions of the EU, EU Member States or Switzerland, it shall inform the Customer thereof and shall be entitled to suspend the Processing until the instruction is withdrawn or confirmed.
diff --git a/docs/docs/legal/rate-limit-policy.md b/docs/docs/legal/rate-limit-policy.md
index 4f4e2b414..0cf42c679 100644
--- a/docs/docs/legal/rate-limit-policy.md
+++ b/docs/docs/legal/rate-limit-policy.md
@@ -23,7 +23,7 @@ You should consider to implement [exponential backoff](https://en.wikipedia.org/
## What rate limits do apply
-For ZITADEL Cloud, we have a rate limiting rule for login paths (login, register and reset features) and for API paths each. Learn more about [the exact rules](/docs/apis/ratelimits).
+For ZITADEL Cloud, we have a rate limiting rule for login paths (login, register and reset features) and for API paths each. Learn more about [the exact rules](/apis/ratelimits).
## Load Testing
diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js
index 52ad3ddd7..f1d62b43b 100644
--- a/docs/docusaurus.config.js
+++ b/docs/docusaurus.config.js
@@ -2,8 +2,8 @@
module.exports = {
title: "ZITADEL Docs",
trailingSlash: false,
- url: "https://docs.zitadel.com",
- baseUrl: "/",
+ url: "https://zitadel.com",
+ baseUrl: "/docs/",
onBrokenLinks: "throw",
onBrokenMarkdownLinks: "warn",
favicon: "img/favicon.ico",
@@ -11,11 +11,11 @@ module.exports = {
projectName: "zitadel",
scripts: [
{
- src: "/proxy/js/script.js",
+ src: "/docs/proxy/js/script.js",
async: true,
defer: true,
- "data-domain": "docs.zitadel.com",
- "data-api": "/proxy/api/event",
+ "data-domain": "zitadel.com",
+ "data-api": "/docs/proxy/api/event",
},
],
customFields: {
@@ -135,11 +135,11 @@ module.exports = {
items: [
{
label: "Terms and Conditions",
- href: "/docs/legal/terms-of-service",
+ href: "/legal/terms-of-service",
},
{
label: "Privacy Policy",
- href: "/docs/legal/privacy-policy",
+ href: "/legal/privacy-policy",
},
],
},
@@ -191,6 +191,7 @@ module.exports = {
"@docusaurus/preset-classic",
{
docs: {
+ routeBasePath: "/",
sidebarPath: require.resolve("./sidebars.js"),
showLastUpdateAuthor: true,
showLastUpdateTime: true,
diff --git a/docs/netlify.toml b/docs/netlify.toml
index e77bce698..b73b8813a 100644
--- a/docs/netlify.toml
+++ b/docs/netlify.toml
@@ -1,6 +1,14 @@
[build]
command = "npm run build"
+# This is a workaround to address the problem around the baseUrl from docusaurus
+# Be aware that this prevents the usage of the path /docs/docs
+[[redirects]]
+ from = "/docs/*"
+ to = "/:splat"
+ status = 200
+ force = true
+
[[redirects]]
from = "/proxy/js/script.js"
to = "https://plausible.io/js/script.outbound-links.js"
@@ -22,6 +30,6 @@
preload'''
[[redirects]]
- from = "/docs/quickstarts/introduction"
- to = "/docs/examples/introduction"
+ from = "/quickstarts/introduction"
+ to = "/examples/introduction"
status = 301
diff --git a/docs/src/components/card.jsx b/docs/src/components/card.jsx
index 60ea9e655..7a97374af 100644
--- a/docs/src/components/card.jsx
+++ b/docs/src/components/card.jsx
@@ -10,7 +10,7 @@ export function Card({ link, githubLink, imageSource, title, description, label}
{description && {description}
}
diff --git a/docs/docs/guides/integrate/authmethods/basic.mdx b/docs/docs/guides/integrate/authmethods/basic.mdx
index a621d8972..5f4fbfbb5 100644
--- a/docs/docs/guides/integrate/authmethods/basic.mdx
+++ b/docs/docs/guides/integrate/authmethods/basic.mdx
@@ -21,12 +21,12 @@ the authentication process. The latter is used to bind the client session with t
You don't need any additional parameter for this request. We're identifying the app by the `client_id` parameter.
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -43,7 +43,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
@@ -56,7 +56,7 @@ Next you will have to exchange the given `code` for the tokens. For this HTTP PO
Depending on your authentication method you'll need additional headers and parameters:
Send your `client_id` and `client_secret` as Basic Auth Header. Note that OAuth2 requires client_id and client_secret to be form url encoded.
-So check [Client Secret Basic Auth Method](/docs/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
+So check [Client Secret Basic Auth Method](/apis/openidoauth/authn-methods#client-secret-basic) on how to build it correctly.
```curl
curl --request POST \
diff --git a/docs/docs/guides/integrate/authmethods/implicit.mdx b/docs/docs/guides/integrate/authmethods/implicit.mdx
index a2893972a..3c5554693 100644
--- a/docs/docs/guides/integrate/authmethods/implicit.mdx
+++ b/docs/docs/guides/integrate/authmethods/implicit.mdx
@@ -7,7 +7,7 @@ We therefore discourage the use of Implicit Flow and do not cover the flow in th
:::
If you still need to rely on the implicit flow, simply keep in mind that the response on the authorization_endpoint is
-the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/docs/apis/openidoauth/endpoints) for more information.
+the same you would be given on the token_endpoint and check the [OAuth / OIDC endpoint documentation](/apis/openidoauth/endpoints) for more information.
#### redirect_uri
@@ -32,7 +32,7 @@ When using the Implicit Flow you will also have to provide a `nonce` parameter t
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -46,4 +46,4 @@ Upon successful authentication you'll be given the `access_token`, `id_token`, `
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
diff --git a/docs/docs/guides/integrate/authmethods/jwtpk.mdx b/docs/docs/guides/integrate/authmethods/jwtpk.mdx
index 4d896b248..037df10d9 100644
--- a/docs/docs/guides/integrate/authmethods/jwtpk.mdx
+++ b/docs/docs/guides/integrate/authmethods/jwtpk.mdx
@@ -23,12 +23,12 @@ You don't need any additional parameter for this request. We're identifying the
So your request might look like this (linebreaks and whitespace for display reasons):
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest?auth_method=Client%20Secret%20Basic).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -45,7 +45,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/authmethods/pkce.mdx b/docs/docs/guides/integrate/authmethods/pkce.mdx
index 523bc1383..d2bb2fd90 100644
--- a/docs/docs/guides/integrate/authmethods/pkce.mdx
+++ b/docs/docs/guides/integrate/authmethods/pkce.mdx
@@ -29,12 +29,12 @@ the hash as well and to verify it's correct. In order to do so you're required t
For example for `random-string` the code_challenge would be `9az09PjcfuENS7oDK7jUd2xAWRb-B3N7Sr3kDoWECOY`
-Try out the request in our [OIDC Authentication Request Playground](/docs/apis/openidoauth/authrequest).
+Try out the request in our [OIDC Authentication Request Playground](/apis/openidoauth/authrequest).
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -51,7 +51,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/authmethods/pkcenative.mdx b/docs/docs/guides/integrate/authmethods/pkcenative.mdx
index e5ea14db0..2fd5f9f13 100644
--- a/docs/docs/guides/integrate/authmethods/pkcenative.mdx
+++ b/docs/docs/guides/integrate/authmethods/pkcenative.mdx
@@ -20,7 +20,7 @@ with a custom protocol, you will need to add the origin where the app is served
### Additional parameters and customization
There are additional parameters and values you can provide to satisfy your use case and to customize the user's authentication flow.
-Please check the [authorization_endpoint reference](/docs/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
+Please check the [authorization_endpoint reference](/apis/openidoauth/endpoints#authorization_endpoint) in the OAuth / OIDC documentation.
## Callback
@@ -37,7 +37,7 @@ You will need this `code` in the token request.
If a parameter was missing, malformed or any other error occurred, your answer will contain an `error` stating the error type,
possibly an `error_description` providing some information about the error and its reason and the `state` parameter.
-Check the [error response section](/docs/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
+Check the [error response section](/apis/openidoauth/endpoints#error-response) in the authorization_endpoint reference.
## Token request
diff --git a/docs/docs/guides/integrate/serviceusers.md b/docs/docs/guides/integrate/serviceusers.md
index 449e39c4d..e30fe39b8 100644
--- a/docs/docs/guides/integrate/serviceusers.md
+++ b/docs/docs/guides/integrate/serviceusers.md
@@ -2,7 +2,7 @@
title: Service Users
---
-This is a guide on how to create service users in ZITADEL. You can read more about users [here](/docs/concepts/structure/users.md).
+This is a guide on how to create service users in ZITADEL. You can read more about users [here](/concepts/structure/users.md).
## Create a Service User
1. Navigate to Service Users
diff --git a/docs/docs/guides/manage/console/actions.mdx b/docs/docs/guides/manage/console/actions.mdx
index 2f6d2a345..db31b4fec 100644
--- a/docs/docs/guides/manage/console/actions.mdx
+++ b/docs/docs/guides/manage/console/actions.mdx
@@ -5,7 +5,7 @@ title: Actions
An Identity and Management system is a very interactive place. ZITADEL has built in functionality to react to its events. This functionality is called **Actions** and can be accessed from your organizations top navigation.