diff --git a/apps/docs/ai-code-gen/unkey-mcp.mdx b/apps/docs/ai-code-gen/unkey-mcp.mdx
index 96a923a9a7..0ab5d88c3a 100644
--- a/apps/docs/ai-code-gen/unkey-mcp.mdx
+++ b/apps/docs/ai-code-gen/unkey-mcp.mdx
@@ -361,6 +361,6 @@ Configure multiple Unkey workspaces:
## Resources
-- [Unkey API Reference](/api-reference/authentication)
+- [Unkey API Reference](/api-reference/v2/auth)
- [Unkey Dashboard](https://app.unkey.com)
- [Community Discord](https://go.unkey.com/discord)
diff --git a/apps/docs/apis/features/authorization/roles-and-permissions.mdx b/apps/docs/apis/features/authorization/roles-and-permissions.mdx
index c0d995a6b0..970fd60198 100644
--- a/apps/docs/apis/features/authorization/roles-and-permissions.mdx
+++ b/apps/docs/apis/features/authorization/roles-and-permissions.mdx
@@ -90,12 +90,12 @@ A checked box means the role will grant the permission to keys.
## Connecting roles to keys
1. In the sidebar, click on one of your APIs
-2. In the breakcrumb navigation on the top click Reqests and then keys
+2. In the breakcrumb navigation on the top click Reqests and then keys
3. Select one of your existing keys by clicking on it
-4. Scroll down to the `Roles` section if not visible
+4. Scroll down to the `Roles` section if not visible
You should now be on `/app/keys/key_auth_???/key_???`
@@ -140,4 +140,4 @@ curl -XPOST \
]
}'
```
-See [here](/api-reference/keys/create) for details.
+See [here](api-reference/v2/keys/create-api-key) for details.
diff --git a/apps/docs/apis/features/temp-keys.mdx b/apps/docs/apis/features/temp-keys.mdx
index cf5430fb16..3adbf54195 100644
--- a/apps/docs/apis/features/temp-keys.mdx
+++ b/apps/docs/apis/features/temp-keys.mdx
@@ -8,7 +8,7 @@ Temporary API Keys are API Keys that expire after a certain amount of time. They
## How to create a temporary API Key
-To create a temporary API Key, you need to make a `POST` request to the `/v2/keys.createKey` endpoint. You can read about all the parameters you can send in the [API Reference](/api-reference/keys/create).
+To create a temporary API Key, you need to make a `POST` request to the `/v2/keys.createKey` endpoint. You can read about all the parameters you can send in the [API Reference](api-reference/v2/keys/create-api-key).
```bash
curl --request POST \
diff --git a/apps/docs/libraries/nuxt/overview.mdx b/apps/docs/libraries/nuxt/overview.mdx
index f301c4de0f..a70bb36891 100644
--- a/apps/docs/libraries/nuxt/overview.mdx
+++ b/apps/docs/libraries/nuxt/overview.mdx
@@ -87,7 +87,7 @@ For example:
## Unkey helper
-For more about how to use the configured helper provided by `useUnkey()`, you can see the API docs for [the TypeScript client](/libraries/ts/sdk/overview).
+For more about how to use the configured helper provided by `useUnkey()`, you can see the API docs for [the TypeScript client](/libraries/ts/api).
For example:
diff --git a/apps/docs/libraries/ts/hono.mdx b/apps/docs/libraries/ts/hono.mdx
index 174d2f1602..3ad5c008cb 100644
--- a/apps/docs/libraries/ts/hono.mdx
+++ b/apps/docs/libraries/ts/hono.mdx
@@ -35,7 +35,7 @@ description: "Hono.js middleware for authenticating API keys"
-Let's dive straight in. The minimal setup looks like this. All you need is your root key with permission to verify keys. Go to [/app/api](https://app.unkey.com/settings/root-keys) and create a key with the `verify_key` permission.
+Let's dive straight in. The minimal setup looks like this. All you need is your root key with permission to verify keys. Go to [/settings/root-keys](https://app.unkey.com/settings/root-keys) and create a key with the `verify_key` permission.
By default it tries to grab the api key from the `Authorization` header and then verifies it with unkey.
The result of the verification will be written to the context and can be access with `c.get("unkey")`.
@@ -120,7 +120,7 @@ By default the middleware will not do anything with the verification response ot
However you most likely would like to just return a `401` response if the key is invalid and not continue with the request.
To do this you can pass a `handleInvalidKey` handler to the middleware.
-See [here](/api-reference/v2/keys/verify-api-key) for the full `response` object.
+See [here](/api-reference/v2/keys/create-api-key) for the full `response` object.
```ts
app.use(
diff --git a/apps/docs/migrations/keys.mdx b/apps/docs/migrations/keys.mdx
index c88a38198d..5d01e165ad 100644
--- a/apps/docs/migrations/keys.mdx
+++ b/apps/docs/migrations/keys.mdx
@@ -25,7 +25,7 @@ The root key used for migrating must have the `api.*.encrypt_key` permission to
Extracting keys from your current system is likely the hardest part. It depends on how your keys are stored and how you can access them.
Some providers have APIs to list all keys, while others require you to manually export them, some can provide the real key, and some only provide a hashed version.
-Regardless of how you get your keys, you will need to provide either the plaintext key or the hash, as well as other settings to Unkey via the [migrations.createKeys](/api-reference/migrations/create-keys) endpoint.
+Regardless of how you get your keys, you will need to provide either the plaintext key or the hash, as well as other settings to Unkey via the [migrations.createKeys](/api-reference/v1/migration/keys) endpoint.
## Nodejs Example
diff --git a/apps/docs/quickstart/onboarding/onboarding-api.mdx b/apps/docs/quickstart/onboarding/onboarding-api.mdx
index 43484fe35c..470c5eccb8 100644
--- a/apps/docs/quickstart/onboarding/onboarding-api.mdx
+++ b/apps/docs/quickstart/onboarding/onboarding-api.mdx
@@ -41,6 +41,6 @@ Next we will show you the basics of how to use Unkey. You can skip this step if
## 5. Next Steps
-You should get to know our [API reference](/api-reference/authentication), as you can add additonal fields to your request when issuing a key.
+You should get to know our [API reference](/api-reference/v2/auth), as you can add additonal fields to your request when issuing a key.
You can also check out the [Features](/apis/features/ratelimiting) section for more information on how to use Unkey.
diff --git a/apps/docs/quickstart/onboarding/onboarding-ratelimiting.mdx b/apps/docs/quickstart/onboarding/onboarding-ratelimiting.mdx
index 9be1cb3557..4c70de3df2 100644
--- a/apps/docs/quickstart/onboarding/onboarding-ratelimiting.mdx
+++ b/apps/docs/quickstart/onboarding/onboarding-ratelimiting.mdx
@@ -33,4 +33,4 @@ Next we will show you the basics of how to use Unkey Ratelimiting. You can skip
## 4. Next Steps
-You should get to know our [API reference](/api-reference/ratelimits/limit), as you can add additonal fields to your request when ratelimiting endpoints.
+You should get to know our [API reference](/api-reference/v2/overview), as you can add additonal fields to your request when ratelimiting endpoints.
diff --git a/apps/docs/ratelimiting/automated-overrides.mdx b/apps/docs/ratelimiting/automated-overrides.mdx
index ac8440bdc3..780213a47c 100644
--- a/apps/docs/ratelimiting/automated-overrides.mdx
+++ b/apps/docs/ratelimiting/automated-overrides.mdx
@@ -35,7 +35,7 @@ await unkey.ratelimits.setOverride({
})
```
-[API Reference ->](/api-reference/ratelimits/set-override)
+[API Reference ->](/api-reference/v2/overview)
Now, when we're ratelimiting `tim@calendso.com`, it will use the override settings and ratelimit them to 10 per minute.
@@ -68,7 +68,7 @@ console.log(override)
}
```
-[API Reference ->](/api-reference/ratelimits/get-override)
+[API Reference ->](/api-reference/v2/overview)
## List Overrides
@@ -104,7 +104,7 @@ console.log(res)
}
```
-[API Reference ->](/api-reference/ratelimits/list-overrides)
+[API Reference ->](/api-reference/v2/overview)
## Delete Override
@@ -123,4 +123,4 @@ await unkey.ratelimits.deleteOverride({
})
```
-[API Reference ->](/api-reference/ratelimits/delete-override)
+[API Reference ->](/api-reference/v2/overview)
diff --git a/apps/docs/ratelimiting/introduction.mdx b/apps/docs/ratelimiting/introduction.mdx
index 931e49e996..5e5d2f054a 100644
--- a/apps/docs/ratelimiting/introduction.mdx
+++ b/apps/docs/ratelimiting/introduction.mdx
@@ -45,7 +45,7 @@ upstream services.
## Ratelimit your functions
-We're currently only offering a Typescript SDK but you can check out the [api reference](/api-reference/ratelimits/limit) and do the network call manually if you are using another language.
+We're currently only offering a Typescript SDK but you can check out the [api reference](/api-reference/v2/overview) and do the network call manually if you are using another language.
Also please let us know what language you're using, so we can prioritize adding support for it.
diff --git a/apps/docs/security/recovering-keys.mdx b/apps/docs/security/recovering-keys.mdx
index 2b860ae370..26282f3aa6 100644
--- a/apps/docs/security/recovering-keys.mdx
+++ b/apps/docs/security/recovering-keys.mdx
@@ -72,7 +72,7 @@ curl --request POST \
## Recovering plaintext keys
-Both the [getKey](/api-reference/keys/get) and [listKeys](/api-reference/apis/list-keys) endpoints accept a `decrypt` query parameter. If you set this to `true`, the key will be decrypted and returned in the response as `plaintext`.
+Both the [getKey](/api-reference/v2/overview) and [listKeys](/api-reference/v2/overview) endpoints accept a `decrypt` query parameter. If you set this to `true`, the key will be decrypted and returned in the response as `plaintext`.