diff --git a/docs/docs/apis/introduction.mdx b/docs/docs/apis/introduction.mdx
index 7e68540c95..c94709583a 100644
--- a/docs/docs/apis/introduction.mdx
+++ b/docs/docs/apis/introduction.mdx
@@ -42,7 +42,7 @@ Endpoint:
{your_domain}/zitadel.auth.v1.AuthService/
Definition:
-[Auth Proto](/docs/apis/proto/auth)
+[Auth Proto](/apis/proto/auth)
### REST
@@ -78,7 +78,7 @@ Endpoint:
{your_domain}/zitadel.management.v1.ManagementService/
Definition:
-[Management Proto](/docs/apis/proto/management)
+[Management Proto](/apis/proto/management)
### REST
@@ -112,7 +112,7 @@ Endpoint:
{your_domain}/zitadel.admin.v1.AdminService/
Definition:
-[Admin Proto](/docs/apis/proto/admin)
+[Admin Proto](/apis/proto/admin)
### REST
@@ -137,7 +137,7 @@ Definition:
This API is intended to manage the different ZITADEL instances within the system.
-Checkout the guide how to [access the ZITADEL System API](/docs/guides/integrate/access-zitadel-system-api).
+Checkout the guide how to [access the ZITADEL System API](/guides/integrate/access-zitadel-system-api).
@@ -148,7 +148,7 @@ Endpoint:
{your_domain}/zitadel.system.v1.SystemService/
Definition:
-[System Proto](/docs/apis/proto/system)
+[System Proto](/apis/proto/system)
### REST
diff --git a/docs/docs/apis/openidoauth/authrequest.mdx b/docs/docs/apis/openidoauth/authrequest.mdx
index 5a57b21d0c..2f5b924e30 100644
--- a/docs/docs/apis/openidoauth/authrequest.mdx
+++ b/docs/docs/apis/openidoauth/authrequest.mdx
@@ -20,7 +20,7 @@ This playground should help you to initially craft an authentication request and
## Request parameters explained
-Not all request parameters are available in the playground. Please refer to the full documentation of the [authorization endpoint](/docs/apis/openidoauth/endpoints#authorization_endpoint).
+Not all request parameters are available in the playground. Please refer to the full documentation of the [authorization endpoint](/apis/openidoauth/endpoints#authorization_endpoint).
### Your Domain
@@ -47,7 +47,7 @@ The
Instance Domain to your ZITADEL ins
need code.
-More in the
documentation about required Parameters.
+More in the
documentation about required Parameters.
### Authentication methods
@@ -57,9 +57,9 @@ Depending on the authentication and authorization flow of your application you m
for most application types. The playground appends automatically a code challenge
for PKCE flows.
-You need to append a "Code Challenge" by providing a random
Code Verifier that is being hashed and encoded in the request to the token endpoint, please see our [guide](/docs/guides/integrate/login-users#token-request) for more details.
+You need to append a "Code Challenge" by providing a random
Code Verifier that is being hashed and encoded in the request to the token endpoint, please see our [guide](/guides/integrate/login-users#token-request) for more details.
-More in the [documentation](/docs/apis/openidoauth/authn-methods) about authentication methods.
+More in the [documentation](/apis/openidoauth/authn-methods) about authentication methods.
### Additional Parameters
@@ -76,7 +76,7 @@ More in the [documentation](/docs/apis/openidoauth/authn-methods) about authenti
of a user. You can skip the account picker by providing the Login hint.
-There are many more additional parameters. Please refer to the [documentation](/docs/apis/openidoauth/endpoints#additional-parameters) about additional parameters.
+There are many more additional parameters. Please refer to the [documentation](/apis/openidoauth/endpoints#additional-parameters) about additional parameters.
## Standard Scopes
@@ -84,32 +84,32 @@ Used to request additional information from ZITADEL.
These scopes are defined in the OpenID Connect specification.
The `openid` scope is mandatory.
-Not all scopes are available in the playground. Please refer to the full [documentation](/docs/apis/openidoauth/scopes) for the exhaustive list of available standard and reserved scopes.
+Not all scopes are available in the playground. Please refer to the full [documentation](/apis/openidoauth/scopes) for the exhaustive list of available standard and reserved scopes.
## Reserved Scopes
You can request additional information that is specific to ZITADEL or customize the behavior of ZITADEL by including reserved scopes.
-Please refer to the [documentation](/docs/apis/openidoauth/scopes#reserved-scopes) for a full list of available reserved scopes.
+Please refer to the [documentation](/apis/openidoauth/scopes#reserved-scopes) for a full list of available reserved scopes.
### Organization policies and branding
Enforce an organization's policies and branding as well as membership of the user by passing the scope `urn:zitadel:iam:org:id:{id}` with the required
Organization ID.
-Please refer to the full [guide on branding](/docs/guides/manage/customize/branding).
+Please refer to the full [guide on branding](/guides/manage/customize/branding).
### Get user metadata
Pass the scope `urn:zitadel:iam:user:metadata` to request a user's metadata.
-Please refer to the full [guide on user-metadata](/docs/guides/manage/customize/user-metadata) for further details.
+Please refer to the full [guide on user-metadata](/guides/manage/customize/user-metadata) for further details.
### Access core apis
-Calling the [core API](/docs/apis/introduction) with the authenticated user, requires that the projectID of ZITADEL is included in the audience claim.
+Calling the [core API](/apis/introduction) with the authenticated user, requires that the projectID of ZITADEL is included in the audience claim.
This can be achieved by adding the scope `urn:zitadel:iam:org:project:id:zitadel:aud` to your applications authorization request.
## How to use ZITADEL in your project
-Please refer to our [guide](/docs/guides/integrate/login-users) on how to login users.
+Please refer to our [guide](/guides/integrate/login-users) on how to login users.
-OpenID Connect certified libraries should allow you to customize the parameters and define scopes for the authorization request. You can also continue by using one of our [example applications](/docs/examples/introduction).
+OpenID Connect certified libraries should allow you to customize the parameters and define scopes for the authorization request. You can also continue by using one of our [example applications](/examples/introduction).
diff --git a/docs/docs/apis/ratelimits/ratelimits.md b/docs/docs/apis/ratelimits/ratelimits.md
index 0630bf8cfe..6eac7eb351 100644
--- a/docs/docs/apis/ratelimits/ratelimits.md
+++ b/docs/docs/apis/ratelimits/ratelimits.md
@@ -2,7 +2,7 @@
title: ZITADEL Cloud Rate Limits
---
-Rate limits are implemented according to our [rate limit policy](/docs/legal/rate-limit-policy.md) with the following rules:
+Rate limits are implemented according to our [rate limit policy](/legal/rate-limit-policy.md) with the following rules:
| Path | Description | Throttling | One Minute Banning |
|--------------------------|----------------------------------------|--------------------------------------|----------------------------------------|
diff --git a/docs/docs/concepts/architecture/software.md b/docs/docs/concepts/architecture/software.md
index cd9c03b01f..81e9a09107 100644
--- a/docs/docs/concepts/architecture/software.md
+++ b/docs/docs/concepts/architecture/software.md
@@ -37,15 +37,15 @@ The http server is responsible for the following functions:
The API layer consist of the multiple APIs provided by ZITADEL. Each serves a dedicated purpose.
All APIs of ZITADEL are always available as gRCP, gRPC-web and REST service.
-The only exception is the [OpenID Connect & OAuth](/docs/apis/openidoauth/endpoints) and [Asset API](/docs/apis/introduction#assets) due their unique nature.
+The only exception is the [OpenID Connect & OAuth](/apis/openidoauth/endpoints) and [Asset API](/apis/introduction#assets) due their unique nature.
-- [OpenID Connect & OAuth](/docs/apis/openidoauth/endpoints) - allows to request authentication and authorization of ZITADEL
-- [SAML](/docs/apis/saml/endpoints) - allows to request authentication and authorization of ZITADEL through the SAML standard
-- [Authentication API](/docs/apis/introduction#authentication) - allow a user to do operation in its own context
-- [Management API](/docs/apis/introduction#management) - allows an admin or machine to manage the ZITADEL resources on an organization level
-- [Administration API](/docs/apis/introduction#administration) - allows an admin or machine to manage the ZITADEL resources on an instance level
-- [System API](/docs/apis/introduction#system) - allows to create and change new ZITADEL instances
-- [Asset API](/docs/apis/introduction#assets) - is used to upload and download static assets
+- [OpenID Connect & OAuth](/apis/openidoauth/endpoints) - allows to request authentication and authorization of ZITADEL
+- [SAML](/apis/saml/endpoints) - allows to request authentication and authorization of ZITADEL through the SAML standard
+- [Authentication API](/apis/introduction#authentication) - allow a user to do operation in its own context
+- [Management API](/apis/introduction#management) - allows an admin or machine to manage the ZITADEL resources on an organization level
+- [Administration API](/apis/introduction#administration) - allows an admin or machine to manage the ZITADEL resources on an instance level
+- [System API](/apis/introduction#system) - allows to create and change new ZITADEL instances
+- [Asset API](/apis/introduction#assets) - is used to upload and download static assets
### Core Layer
diff --git a/docs/docs/concepts/features/selfservice.md b/docs/docs/concepts/features/selfservice.md
index 85b4b24330..043011b422 100644
--- a/docs/docs/concepts/features/selfservice.md
+++ b/docs/docs/concepts/features/selfservice.md
@@ -10,7 +10,7 @@ It is important to understand that, depending on your use case, there will exist
- `Users` are the end-users of your application. Like with any CIAM solution, users should be able to perform tasks like register/join, update their profile, manage authenticators etc. There are certain actions that can be executed pre-login, yet others require the user to have a valid session.
- `Managers` are users with a [special manager role](../../guides/manage/console/managers) within ZITADEL and can perform administrative actions such as system configuration or granting access rights to users.
-All self-service interfaces are available in different [languages](/docs/guides/manage/customize/texts#internationalization).
+All self-service interfaces are available in different [languages](/guides/manage/customize/texts#internationalization).
:::info
ZITADEL covers the typical "CIAM" self-service capabilities as well as delegated access management for multi-tenancy scenarios. Please refer to the section [Managers](#managers).
@@ -64,7 +64,7 @@ By default, the displayed branding is defined based on the user's domain. In cas
### Web, Mobile, and Single-Page Applications
-[This guide](/docs/guides/integrate/login-users) explains in more detail the login-flows for different application types.
+[This guide](/guides/integrate/login-users) explains in more detail the login-flows for different application types.
Human users are redirected to ZITADEL's login page and complete sign-in with the interactive login flow.
It is important to understand that ZITADEL provides a hosted login page and the device of the users opens this login page in a browser, even on Native/Mobile apps.
@@ -72,7 +72,7 @@ It is important to understand that ZITADEL provides a hosted login page and the
Users are automatically prompted to provide a second factor, when
-- Instance or organization [login policy](/docs/concepts/structure/policies#login-policy) is set
+- Instance or organization [login policy](/concepts/structure/policies#login-policy) is set
- Requested by the client
- A multi-factor is setup for the user
@@ -104,7 +104,7 @@ Given an external identity provider is configured on the instance or on the orga
### Machines
Machine accounts can't use an interactive login but require other means of authentication, such as privately-signed JWT or personal access tokens.
-Read more about [Service Users](/docs/guides/integrate/serviceusers) and recommended [OpenID Connect Flows](/docs/guides/integrate/oauth-recommended-flows#different-client-profiles).
+Read more about [Service Users](/guides/integrate/serviceusers) and recommended [OpenID Connect Flows](/guides/integrate/oauth-recommended-flows#different-client-profiles).
### Other Clients
@@ -119,7 +119,7 @@ The user can click the account in the list and does not need to type the usernam
Users can still login with a different user that is not in the list.
:::info
-This behavior can be changed with the authorization request. Please refer to our [guide](/docs/guides/integrate/login-users).
+This behavior can be changed with the authorization request. Please refer to our [guide](/guides/integrate/login-users).
:::
### Password reset
@@ -133,7 +133,7 @@ Unauthenticated users can request a password reset after providing the loginname
## Logout
Users can terminate the session for all their users (logout).
-A client can also implement this, by calling the [specific endpoint](/docs/apis/openidoauth/endpoints#end_session_endpoint).
+A client can also implement this, by calling the [specific endpoint](/apis/openidoauth/endpoints#end_session_endpoint).
## Profile
@@ -203,7 +203,7 @@ This could be permission to assign authorizations within this isolated organizat
### Managers in delegation
-In a setup like described in the [B2B Scenario](/docs/guides/solution-scenarios/b2b), there exists an organization of the project owner and a customer organization.
+In a setup like described in the [B2B Scenario](/guides/solution-scenarios/b2b), there exists an organization of the project owner and a customer organization.
The project is granted to the customer organization, such that the customer can access the project and assign authorization to their users.
Given such as setup the owner might want to give one administrative user of the customer organization the role `ORG_OWNER`.
diff --git a/docs/docs/concepts/structure/_org_description.mdx b/docs/docs/concepts/structure/_org_description.mdx
index 89894816e8..e25e254e19 100644
--- a/docs/docs/concepts/structure/_org_description.mdx
+++ b/docs/docs/concepts/structure/_org_description.mdx
@@ -1,6 +1,6 @@
ZITADEL is organized around the idea that:
-* Multiple organizations can be managed within one [instance](/docs/concepts/structure/instance).
+* Multiple organizations can be managed within one [instance](/concepts/structure/instance).
* organizations can grant each other rights to self-manage certain aspects of the IAM (eg, roles for access management)
* organizations are vessels for users and projects
diff --git a/docs/docs/concepts/structure/instance.mdx b/docs/docs/concepts/structure/instance.mdx
index 422b6cfb41..3d525ad993 100644
--- a/docs/docs/concepts/structure/instance.mdx
+++ b/docs/docs/concepts/structure/instance.mdx
@@ -5,20 +5,20 @@ title: Instance
## Instance Structure
An instance is the top node in ZITADEL's data hierarchy.
-Within an instance all the default [settings](/docs/concepts/structure/policies),
+Within an instance all the default [settings](/concepts/structure/policies),
such as branding, login policy, password policy, etc. for the system can be configured.
One instance normally runs on one domain and represents one issuer (e.g login.customer.com).
-One instance can contain multiple [organizations](/docs/concepts/structure/organizations),
+One instance can contain multiple [organizations](/concepts/structure/organizations),
which in turn can represent your own company (e.g. departments), your business customers or a consumer organization.
-Read more about how to configure your instance in our [instance guide](/docs/guides/manage/console/instance-settings).
+Read more about how to configure your instance in our [instance guide](/guides/manage/console/instance-settings).
## Multiple Virtual Instances
ZITADEL has the concept of virtual instances.
When installing ZITADEL from scratch, one instance is always automatically created for you.
-Nevertheless, you can add more virtual instances via the [system API](/docs/apis/proto/system#addinstance).
+Nevertheless, you can add more virtual instances via the [system API](/apis/proto/system#addinstance).
This is useful if you have business customers, which in turn have their business customers with self service and custom domain demands.
By providing a virtual ZITADEL instances, your customers have all the customization options available in ZITADEL.
Scaling ZITADEL instances virtually enables you to easily distribute your limited compute resources to all your customers.
diff --git a/docs/docs/concepts/structure/users.md b/docs/docs/concepts/structure/users.md
index fa681a7f5b..a765e36969 100644
--- a/docs/docs/concepts/structure/users.md
+++ b/docs/docs/concepts/structure/users.md
@@ -22,12 +22,12 @@ The main difference between human and machine users is the type of credentials t
### Managers
-Any user, human or service user, can be given a [Manager](/docs/concepts/structure/managers) role.
+Any user, human or service user, can be given a [Manager](/concepts/structure/managers) role.
Given a manager role, a user is not only an end-user of ZITADEL but can also manage certain aspects of ZITADEL itself.
## Constraints
-Users can only exist within one [organization](/docs/concepts/structure/organizations).
+Users can only exist within one [organization](/concepts/structure/organizations).
It is currently not possible to move users between organizations.
User accounts are uniquely identified by their `id` or `loginname` in combination of the `organization domain` (eg, `road.runner@acme.zitadel.local`).
@@ -35,7 +35,7 @@ You can use the same email address for different user accounts.
## Where to store users
-Depending on your [scenario](/docs/guides/solution-scenarios/introduction), you might want to store all users in one organization (CIAM / B2C) or create a new organization for each logical group of users, e.g. each business customer (B2B).
+Depending on your [scenario](/guides/solution-scenarios/introduction), you might want to store all users in one organization (CIAM / B2C) or create a new organization for each logical group of users, e.g. each business customer (B2B).
With a project grant, you can delegate the access management of an organization's project to another organization.
You can also create a user grant to allow single users to access projects from another organization.
This is also an alternative to cases where you might want to move users between organizations.
diff --git a/docs/docs/examples/introduction.mdx b/docs/docs/examples/introduction.mdx
index b65501c2d0..dccdadbf0b 100644
--- a/docs/docs/examples/introduction.mdx
+++ b/docs/docs/examples/introduction.mdx
@@ -13,31 +13,31 @@ Get started with ZITADEL quickly by reading a quickstart or by cloning a [ZITADE
@@ -47,13 +47,13 @@ Get started with ZITADEL quickly by reading a quickstart or by cloning a [ZITADE
@@ -63,7 +63,7 @@ Get started with ZITADEL quickly by reading a quickstart or by cloning a [ZITADE
diff --git a/docs/docs/examples/login/flutter.md b/docs/docs/examples/login/flutter.md
index 646f486561..e0e58c2065 100644
--- a/docs/docs/examples/login/flutter.md
+++ b/docs/docs/examples/login/flutter.md
@@ -167,11 +167,11 @@ Our Android and iOS Application opens ZITADEL's login within a custom tab, on We
If everything works out correctly, your applications should look like this:
diff --git a/docs/docs/examples/login/nextjs-b2b.md b/docs/docs/examples/login/nextjs-b2b.md
index 70a325c978..bd5e343ad8 100644
--- a/docs/docs/examples/login/nextjs-b2b.md
+++ b/docs/docs/examples/login/nextjs-b2b.md
@@ -134,13 +134,13 @@ Let's call this new organization `Demo-Customer`.
### Users
-Now switch back to the organization `Demo-Customer` and [create a new user](https://docs.zitadel.com/docs/manuals/user-register) in this organization.
+Now switch back to the organization `Demo-Customer` and [create a new user](/manuals/user-register) in this organization.
Let's call the first user `Alice Admin`. Create a second user called `Eric Employee`.
### Manager Role
We want to enable Alice to assign roles to users in her organization in a self-service manner.
-To make this happen, we need give Alice an [Manager Role](https://docs.zitadel.com/docs/concepts/structure/managers) within the Organization `Demo-Customer`.
+To make this happen, we need give Alice an [Manager Role](/concepts/structure/managers) within the Organization `Demo-Customer`.
Still in the organization `Demo-Customer`, navigate to Organization. Click on the plus on the top right and give `Alice Admin` the Manager Role `Org Owner`.
@@ -151,7 +151,7 @@ Login with your user on the customer organization to validate the setup.
### Organization Grant
Switch to the `Demo-Vendor` organization, select Projects in the navigation, and click on `Portal` and then `Grants`.
-[Grant all roles of the Project](https://docs.zitadel.com/docs/guides/basics/projects#exercise---grant-a-project) to the organization `demo-customer.{YourDomain}.zitadel.cloud`.
+[Grant all roles of the Project](/guides/manage/console/projects#grant-a-project) to the organization `demo-customer.{YourDomain}.zitadel.cloud`.
### Authorization
diff --git a/docs/docs/guides/deploy/_next.mdx b/docs/docs/guides/deploy/_next.mdx
index c19923e7d0..a32a5e5d93 100644
--- a/docs/docs/guides/deploy/_next.mdx
+++ b/docs/docs/guides/deploy/_next.mdx
@@ -1,9 +1,9 @@
## What's next
-For running a production grade ZITADEL instance in your environment, go on with the [configure ZITADEL](/docs/guides/manage/self-hosted/configure) section.
+For running a production grade ZITADEL instance in your environment, go on with the [configure ZITADEL](/guides/manage/self-hosted/configure) section.
:::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/integrate/access-zitadel-system-api.md b/docs/docs/guides/integrate/access-zitadel-system-api.md
index d049a2ce09..a6f3bb25c4 100644
--- a/docs/docs/guides/integrate/access-zitadel-system-api.md
+++ b/docs/docs/guides/integrate/access-zitadel-system-api.md
@@ -9,7 +9,7 @@ The ZITADEL System API is currently only available for ZITADEL Self-Hosted deplo
## System API User
The System API works superordinate over all instances. Therefore, you need to define a separate users to get access to this API.
-You can do so by customizing the [runtime configuration](/docs/guides/manage/self-hosted/configure#runtime-configuration).
+You can do so by customizing the [runtime configuration](/guides/manage/self-hosted/configure#runtime-configuration).
To authenticate the user a self-signed JWT will be created and utilized.
diff --git a/docs/docs/guides/integrate/application/application.mdx b/docs/docs/guides/integrate/application/application.mdx
index aac14de3d7..c7d8c30c76 100644
--- a/docs/docs/guides/integrate/application/application.mdx
+++ b/docs/docs/guides/integrate/application/application.mdx
@@ -16,7 +16,7 @@ export default function CreateApp(props) {
@@ -24,7 +24,7 @@ export default function CreateApp(props) {
Select the authentication method
diff --git a/docs/docs/guides/integrate/application/auth-type.mdx b/docs/docs/guides/integrate/application/auth-type.mdx
index c5e17a43ca..d83f088941 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 = () => (
|
@@ -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 9df2971ed6..947d05346d 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/redirect-uris.mdx b/docs/docs/guides/integrate/application/redirect-uris.mdx
index c62ef461d9..1b1b14e0d5 100644
--- a/docs/docs/guides/integrate/application/redirect-uris.mdx
+++ b/docs/docs/guides/integrate/application/redirect-uris.mdx
@@ -44,7 +44,7 @@ export default function RedirectURIs(props) {