diff --git a/getting-started/installation/adding-private-nuget-feed.md b/getting-started/installation/adding-private-nuget-feed.md
index a2e03e1e5..aa3a5fcbc 100644
--- a/getting-started/installation/adding-private-nuget-feed.md
+++ b/getting-started/installation/adding-private-nuget-feed.md
@@ -13,7 +13,23 @@ position: 5
Telerik maintains a publicly accessible NuGet server, providing a collection of NuGet packages to authenticated users. You can add the NuGet feed to your system by using [Visual Studio's NuGet package manager](#setup-in-visual-studio) or the [NuGet CLI](#setup-with-nuget-cli).
-To access the NuGet server, you need an active license for Telerik Reporting (trial or commercial).
+To access the NuGet server, you need an active license for Telerik Reporting (trial or commercial) and an API key that you will use instead of a password.
+
+## Generate an API Key
+
+As the Telerik NuGet server requires authentication, the first step is to obtain an API key that you will use instead of a password. Using an API key instead of a password is a more secure approach, especially when working with [.NET CLI]({% slug using-nuget-keys %}#using-only-cli-commands) or the [`NuGet.Config` file]({% slug using-nuget-keys %}#using-a-nugetconfig-file-with-your-projects).
+
+1. Go to the [API Keys](https://www.telerik.com/account/downloads/api-keys) page in your Telerik account.
+1. Click **Generate New Key +**.
+
+ 
+
+1. In the **Key Note** field, add a note that describes the API key.
+1. Click **Generate Key**.
+1. Select **Copy and Close**. Once you close the window, you can no longer copy the generated key. For security reasons, the **API Keys** page displays only a portion of the key.
+1. Store the generated NuGet API key as you will need it in the next steps. Whenever you need to authenticate your system with the Telerik NuGet server, use `api-key` as the username and your generated API key as the password.
+
+>API keys expire after two years. Telerik will send you an email when a key is about to expire, but we recommend that you set your own calendar reminder with information about where you used that key: file paths, project links, AzDO and GitHub Action variable names, and so on.
## Setup in Visual Studio
@@ -28,13 +44,12 @@ To access the NuGet server, you need an active license for Telerik Reporting (tr
1. Create or load your project.
1. Go to __Tools__ > __NuGet Package Manager__ > __Manage NuGet Packages for solution__.
1. In the upper right-hand corner of the __Manage Packages for Solution__ window, select the Telerik __Package source__ that you just added.
-1. Depending on your Visual Studio version, choose the __Online__ or __Browse__ list of packages.
-1. In the Windows **Authentication** dialog, enter your Telerik credentials. For example, **user: my.name@my.company.com** and **password: myPassPhraseForTelerikDotCom**.
-1. Enter your credentials only once by selecting the __Remember my password__ checkbox. You may need to escape some [special characters in the password](#handling-special-characters-in-password).
+1. Click the **Browse** tab to see the available packages.
+1. In the authentication window, enter `api-key` in the **User name** field and the [generated API key](#generate-an-api-key) in the **Password** field.
>caption Enter your Telerik.com credentials to access the Telerik NuGet feed
- 
+ 
After adding the Telerik server, all packages licensed to the authenticated user become available in the Visual Studio NuGet package manager.
@@ -44,48 +59,22 @@ If you work with Visual Studio Code on Linux or Mac OS, use the Nuget CLI to set
1. Download the latest [NuGet executable](https://dist.nuget.org/win-x86-commandline/latest/nuget.exe).
1. Open a Command Prompt and change the path to the `nuget.exe` location.
-1. The command from the example below stores a token in the `%AppData%\NuGet\NuGet.config` file. Your original credentials cannot be obtained from this token.
-
- ````powershell
-NuGet Sources Add -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" ^
- -UserName "your login email" -Password "your password"
-````
-
- If you are unable to connect to the feed by using encrypted credentials, store your credentials in clear text.
+1. The command from the example below stores your API key in the `%AppData%\NuGet\NuGet.config` file.
````powershell
NuGet Sources Add -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" ^
- -UserName "your login email" -Password "your password" ^
+ -UserName "api-key" -Password "YOUR-API-KEY" ^
-StorePasswordInClearText
````
- > Encrypted passwords are only supported on Windows.
-
- If you have already stored a token instead of storing the credentials as clear text, update the definition in the `%AppData%\NuGet\NuGet.config` file by using the following command:
+To update expired or invalid login credentials, update the definition in the `%AppData%\NuGet\NuGet.config` file by using the following command:
````powershell
NuGet Sources Update -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" ^
- -UserName "your login email" -Password "your password" ^
+ -UserName "api-key" -Password "YOUR-API-KEY" ^
-StorePasswordInClearText
````
-
-## Handling Special Characters in Password
-
-If your password contains a special character, those characters need to be escaped or it may fail authentication resulting in *Error 401 login failure* from the NuGet server. A common character that needs to be escaped is the ampersand (`&`), but it can be as unique as the section character (`§`). There are two ways to handle this.
-
-1. Change the password so that it only includes characters that do not need to be escaped
-1. HTML encodes the password so the special characters are escaped (e.g. `my§uper&P@§§word` becomes `my§uper&P@§§word`).
-
-We strongly discourage entering your password into an online encoder utility, use Powershell instead. Here's one example:
-
- Add-Type -AssemblyName System.Web
- [System.Web.HttpUtility]::HtmlEncode('my§uper&P@§§word')
-
-Result:
-
-
-
## See Also
* [Restoring NuGet Packages in Your CI Workflow]({%slug using-nuget-keys%})
diff --git a/getting-started/installation/images/PowerShellEncodingNugetPassword.png b/getting-started/installation/images/PowerShellEncodingNugetPassword.png
deleted file mode 100644
index b8e096460..000000000
Binary files a/getting-started/installation/images/PowerShellEncodingNugetPassword.png and /dev/null differ
diff --git a/getting-started/installation/images/account-generate-api-key.png b/getting-started/installation/images/account-generate-api-key.png
new file mode 100644
index 000000000..4c03bc232
Binary files /dev/null and b/getting-started/installation/images/account-generate-api-key.png differ
diff --git a/getting-started/installation/images/copy-nuget-key.png b/getting-started/installation/images/copy-nuget-key.png
deleted file mode 100644
index 7cd296735..000000000
Binary files a/getting-started/installation/images/copy-nuget-key.png and /dev/null differ
diff --git a/getting-started/installation/images/manage-nuget-keys.png b/getting-started/installation/images/manage-nuget-keys.png
deleted file mode 100644
index f29342dab..000000000
Binary files a/getting-started/installation/images/manage-nuget-keys.png and /dev/null differ
diff --git a/getting-started/installation/images/nuget-credentials.png b/getting-started/installation/images/nuget-credentials.png
deleted file mode 100644
index 21738decb..000000000
Binary files a/getting-started/installation/images/nuget-credentials.png and /dev/null differ
diff --git a/getting-started/installation/images/vs-nuget-auth-window.png b/getting-started/installation/images/vs-nuget-auth-window.png
new file mode 100644
index 000000000..a7aa1edd7
Binary files /dev/null and b/getting-started/installation/images/vs-nuget-auth-window.png differ
diff --git a/getting-started/installation/installation-approaches.md b/getting-started/installation/installation-approaches.md
index 59a27d63c..92bddad1f 100644
--- a/getting-started/installation/installation-approaches.md
+++ b/getting-started/installation/installation-approaches.md
@@ -11,7 +11,7 @@ previous_url: /installation-system-requirements, /installation-installing-from-m
# Installation Approaches for Telerik Reporting
-Telerik Reporting provides options for installing the product by using [the Control Panel](#using-the-control-panel), by [the MSI installer file](#using-the-msi-file), or [NuGet](#installing-with-nuget). The NuGet packages add the Reporting assemblies to the project, but do not provide design time support.
+Telerik Reporting provides options for installing the product by using [the Control Panel](#using-the-control-panel), by [the MSI installer file](#using-the-msi-file), or [NuGet](#using-nuget-packages). The NuGet packages add the Reporting assemblies to the project, but do not provide design time support.
>note After installing the product, you will need to [download and activate/update your Telerik Reporting License Key]({%slug license-key%}).
@@ -70,36 +70,56 @@ To install Telerik Reporting through the MSI automatic installer file:
## Using NuGet Packages
-You can add Telerik Reporting to a project by using the [Telerik Reporting NuGet packages](https://nuget.telerik.com/v3/index.json). The NuGet packages are a single ZIP file with the `.nupkg` extension.
+You can add Telerik Reporting to a project by installing NuGet packages hosted on the Telerik NuGet server: `https://nuget.telerik.com/v3/index.json`.
* The `.nupkg` file contains the libraries for .NET Core projects, the Reporting Engine, and the implementation of the [Reporting REST WebAPI-based service]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-web-api-implementation/overview%}) where you can use the packages with the standard .NET 4.6.1 framework.
* The Telerik Reporting NuGet packages do not include design-time support.
-* The legacy https://nuget.telerik.com/nuget server is now deprecated. Make sure to switch to the new https://nuget.telerik.com/v3/index.json server, which is faster, lighter, and reduces the number of requests from your NuGet client. For more information on how to add a NuGet feed, refer to the [official Microsoft documentation](https://www.visualstudio.com/en-us/docs/package/nuget/consume).
-### Adding the Telerik NuGet Feed
+Installing the Telerik Reporting NuGet packages involves three steps:
-To install the Telerik Reporting NuGet packages, add the Telerik NuGet feed to Visual Studio and install the product. The following video demonstrates the steps for adding the Telerik NuGet feed to Visual Studio. If you prefer, however, you can follow the steps that are listed in writing after the video.
+1. [Generating an API key required for the NuGet authentication](#step-1-generating-an-api-key).
+1. [Adding the Telerik NuGet server to Visual Studio](#step-2-adding-the-telerik-nuget-package-source-to-visual-studio).
+1. [Installing the Telerik Reporting NuGet packages](#step-3-installing-telerik-reporting).
-
+### Step 1: Generating an API Key
-To configure the Telerik NuGet Feed in Visual Studio:
+As the Telerik NuGet server requires authentication, the first step is to obtain an API key that you will use instead of a password. Using an API key instead of a password is a more secure approach, especially when working with [.NET CLI]({% slug using-nuget-keys %}#using-only-cli-commands) or the [`NuGet.Config` file]({% slug using-nuget-keys %}#using-a-nugetconfig-file-with-your-projects).
-1. Open Visual Studio and go to **Tools** > **NuGet Package Manager** > **Package Manager Settings**.
-1. Select **Package Sources** and then click the `+` button to add a new package source.
-1. Enter a **Name** for the new package source, for example, **Telerik NuGet**.
-1. Add the `https://nuget.telerik.com/v3/index.json` URL as a **Source**. Make sure the URL does not have a trailing slash. Click **OK**.
+1. Go to the [API Keys](https://www.telerik.com/account/downloads/api-keys) page in your Telerik account.
+1. Click **Generate New Key +**.
-### Installing Telerik Reporting
+ 
+
+1. In the **Key Note** field, add a note that describes the API key.
+1. Click **Generate Key**.
+1. Select **Copy and Close**. Once you close the window, you can no longer copy the generated key. For security reasons, the **API Keys** page displays only a portion of the key.
+1. Store the generated NuGet API key as you will need it in the next steps. Whenever you need to authenticate your system with the Telerik NuGet server, use `api-key` as the username and your generated API key as the password.
+
+>API keys expire after two years. Telerik will send you an email when a key is about to expire, but we recommend that you set your own calendar reminder with information about where you used that key: file paths, project links, AzDO and GitHub Action variable names, and so on.
+
+### Step 2: Adding the Telerik NuGet Package Source to Visual Studio
+
+To configure the Telerik NuGet feed in Visual Studio:
+
+1. Open Visual Studio.
+1. Go to **Tools > NuGet Package Manager > Package Manager Settings**.
+1. Select **Package Sources**, and then click the + button.
+1. In the **Source** field, enter `https://nuget.telerik.com/v3/index.json`. If you use a locally available NuGet package downloaded from your account, add the path to the local package instead of the URL.
+1. Click **Update** and then **OK**.
+
+You have successfully added the Telerik NuGet feed as a Package source.
+
+For more information on how to add a NuGet feed, refer to the [official Microsoft documentation](https://www.visualstudio.com/en-us/docs/package/nuget/consume).
+
+### Step 3: Installing Telerik Reporting
After you have successfully added the Telerik NuGet feed as a package source, you need to authenticate your local NuGet instance and install Telerik Reporting:
1. Create a new Reporting project or open an existing one.
1. Go to **Tools** > **NuGet Package Manager** > **Manage NuGet Packages for Solution...**. Select the Telerik NuGet **Package source** from the drop-down list on the left.
-1. Select the **Browse** tab to see the available packages. Enter your Telerik credentials in the Windows Authentication dialog.
-
- > You may need to escape some [special characters in the password]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}#handling-special-characters-in-password)
-
-1. Select Telerik Reporting and click **Install**.
+1. Select the **Browse** tab to see the available packages.
+1. In the authentication window, enter `api-key` in the **User name** field and the [generated API key](#step-1-generating-an-api-key) in the **Password** field.
+1. Select the desired Telerik Reporting NuGet package and click **Install**.
## See Also
diff --git a/getting-started/installation/using-nuget-keys.md b/getting-started/installation/using-nuget-keys.md
index 290bbb1b6..d33bc9f63 100644
--- a/getting-started/installation/using-nuget-keys.md
+++ b/getting-started/installation/using-nuget-keys.md
@@ -10,39 +10,29 @@ position: 6
# Restoring NuGet Packages in Your CI Workflow
-This article provides an overview of the most popular approaches for using token-based authentication to restore Telerik NuGet packages in your CI (Continuous Integration) workflow.
+This article describes how to use token-based authentication for the Telerik NuGet feed. You will learn how to create and use NuGet API keys to restore Telerik NuGet packages in your Continuous Integration (CI) workflow.
-The Telerik NuGet server allows you to authenticate by using two methods:
+When you need to restore Telerik NuGet packages as part of your CI, using API Keys provides a secure way to authenticate. This method does not require you to provide your Telerik username and password anywhere in the CI workflow. Unlike your Telerik credentials, an API Key has a limited scope and can be used only with the Telerik NuGet server. If any of your API Keys is compromised, you can quickly delete it and create a new one.
-* Basic authentication by providing your Telerik user name and password.
+## Generating API Keys
-* Token-based authentication by providing a NuGet Key.
+1. Go to the [API Keys](https://www.telerik.com/account/downloads/api-keys) page in your Telerik account.
+1. Click **Generate New Key +**.
-When you need to restore Telerik NuGet packages as part of your CI, using NuGet keys is the more secure way to authenticate. This method does not require you to provide your Telerik username and password anywhere in the CI workflow.
+ 
-Unlike your Telerik credentials, a NuGet Key has a limited scope and can be used only with the Telerik NuGet server. If any of your NuGet keys is compromised, you can quickly delete it and create a new one.
+1. In the **Key Note** field, add a note that describes the API key.
+1. Click **Generate Key**.
+1. Select **Copy and Close**. Once you close the window, you can no longer copy the generated key. For security reasons, the **API Keys** page displays only a portion of the key.
+1. Store the generated NuGet API key as you will need it in the next steps. Whenever you need to authenticate your system with the Telerik NuGet server, use `api-key` as the username and your generated API key as the password.
-## Generating NuGet Keys
+>API keys expire after two years. Telerik will send you an email when a key is about to expire, but we recommend that you set your own calendar reminder with information about where you used that key: file paths, project links, AzDO and GitHub Action variable names, and so on.
-1. Go to the [**Manage NuGet Keys**](https://www.telerik.com/account/downloads/nuget-keys) page in your Telerik account.
+## Storing API Keys
-1. Select the **DOWNLOADS** tab and then **Manage NuGet Keys**.
+> Never check in an API Key with your source code or leave it publicly visible in plain text, for example, as a raw key value in a `NuGet.Config` file. An API Key is valuable as bad actors can use it to access the NuGet packages that are licensed under your account. A potential key abuse could lead to a review of the affected account.
- 
-
-1. To create a new key, select the **Generate New Key** button.
-
-1. Enter a name for the NuGet Key, and then select **Generate Key**.
-
-1. To copy the key, select **Copy and Close**. Once you close the window, you can no longer copy the generated key. For security reasons, the **NuGet Keys** page displays only a portion of the key.
-
- 
-
-## Storing a NuGet Key
-
-> Never check in a NuGet Key with your source code or leave it publicly visible in plain text, for example, as a raw key value in a `nuget.config` file. A NuGet Key is valuable as bad actors can use it to access the NuGet packages that are licensed under your account. A potential key abuse could lead to a review of the affected account.
-
-To protect the NuGet Key, store it as a secret environment variable. The exact steps depend on your workflow:
+To protect the API Key, store it as a secret environment variable. The exact steps depend on your workflow:
* In GitHub Actions, save the key as a GitHub Actions Secret. Go to **Settings** > **Security** > **Secrets** > **Actions** > **Add new secret**.
@@ -50,23 +40,23 @@ To protect the NuGet Key, store it as a secret environment variable. The exact s
* In Azure DevOps YAML pipelines, save the key as a secret variable as well. Click the YAML editor's **Variables** button and complete the **New variable** form.
-If you use Azure DevOps Service connection instead of secret environment variables, enter `api-key` in the username filed and the NuGet Key as the password in the **New NuGet service connection** form editor.
+If you use Azure DevOps Service connection instead of secret environment variables, enter `api-key` in the username filed and the API Key as the password in the **New NuGet service connection** form editor.
-For more details on storing and protecting your NuGet Key, check the [Announcing NuGet Keys](https://www.telerik.com/blogs/announcing-nuget-keys) blog post by Lance McCarthy.
+For more details on storing and protecting your API Key, check the [Announcing NuGet Keys](https://www.telerik.com/blogs/announcing-nuget-keys) blog post by Lance McCarthy.
-## Using a NuGet Key
+## Using an API Key
There are two popular ways to use the Telerik NuGet server in a build:
-* [Using a nuget.config file with your projects](#using-a-nugetconfig-file-with-your-projects)
+* [Using a NuGet.Config file with your projects](#using-a-nugetconfig-file-with-your-projects)
* [Using only CLI commands](#using-only-cli-commands)
-For more information on how to use NuGet keys in a build, check the [Announcing NuGet Keys](https://www.telerik.com/blogs/announcing-nuget-keys) blog post by Lance McCarthy.
+For more information on how to use API keys in a build, check the [Announcing NuGet Keys](https://www.telerik.com/blogs/announcing-nuget-keys) blog post by Lance McCarthy.
-### Using a nuget.config File with Your Projects
+### Using a NuGet.Config File with Your Projects
-1. In your `nuget.config` file, set the `Username` value to `api-key` and the `ClearTextPassword` value to an environment variable name:
+1. In your `NuGet.Config` file, set the `Username` value to `api-key` and the `ClearTextPassword` value to an environment variable name:
````XML
@@ -97,14 +87,14 @@ You can use the CLI `add source` (or `update source`) command to set the credent
* To set the credentials in Azure DevOps:
````
-dotnet nuget add source 'MyTelerikFeed' --source 'https://nuget.telerik.com/v3/index.json' --username 'api-key' --password '$(TELERIK_NUGET_KEY)' --configfile './nuget.config' --store-password-in-clear-text
+dotnet nuget add source 'MyTelerikFeed' --source 'https://nuget.telerik.com/v3/index.json' --username 'api-key' --password '$(TELERIK_API_KEY)' --configfile './nuget.config' --store-password-in-clear-text
````
* To set the credentials in GitHub Actions:
````
-dotnet nuget add source 'MyTelerikFeed' --source 'https://nuget.telerik.com/v3/index.json' --username 'api-key' --password '${{ secrets.TELERIK_NUGET_KEY }}' --configfile './nuget.config' --store-password-in-clear-text
+dotnet nuget add source 'MyTelerikFeed' --source 'https://nuget.telerik.com/v3/index.json' --username 'api-key' --password '${{ secrets.TELERIK_API_KEY }}' --configfile './nuget.config' --store-password-in-clear-text
````
diff --git a/knowledge-base/migrate-an-existing-asp-net-core-project-from-full-dotnet-framework-4-6-to-dotnet-core-2-2.md b/knowledge-base/migrate-an-existing-asp-net-core-project-from-full-dotnet-framework-4-6-to-dotnet-core-2-2.md
index a8d553df8..2055e5f2f 100644
--- a/knowledge-base/migrate-an-existing-asp-net-core-project-from-full-dotnet-framework-4-6-to-dotnet-core-2-2.md
+++ b/knowledge-base/migrate-an-existing-asp-net-core-project-from-full-dotnet-framework-4-6-to-dotnet-core-2-2.md
@@ -41,7 +41,7 @@ Now, how to migrate the existing ASP.NET Core project from full .NET Framework b
The above setting is for .NET Core 2.2. Change it correspondingly for the other target frameworks.
-1. Remove the old Telerik libraries. The new Telerik Reporting libraries for .NET Core projects are available through Telerik NuGet private feed - [Telerik Reporting NuGet packages]({%slug telerikreporting/installation%}#installing-telerik-reporting).
+1. Remove the old Telerik libraries. The new Telerik Reporting libraries for .NET Core projects are available through Telerik NuGet private feed - [Telerik Reporting NuGet packages]({%slug telerikreporting/installation%}#step-3-installing-telerik-reporting).
1. Update `Microsoft.AspNetCore` libraries to newer version (if needed).
1. Application configuration in ASP.NET Core uses the new SDK-style project and utilizes `appsettings.json` as a configuration file. The `ConnectionStrings` setting should be configured in JSON-based format like for example:
diff --git a/knowledge-base/nuget-feed-error-returned-unexpected-401-status-code.md b/knowledge-base/nuget-feed-error-returned-unexpected-401-status-code.md
index 7cbad008f..848d6cb69 100644
--- a/knowledge-base/nuget-feed-error-returned-unexpected-401-status-code.md
+++ b/knowledge-base/nuget-feed-error-returned-unexpected-401-status-code.md
@@ -33,12 +33,9 @@ After changing my Telerik password, I get a Telerik NuGet V2 feed error about a
After changing your Telerik password, you need to reset your credentials in the `NuGet.config` file.
-## Solution
-
-To fix this issue, open a Command Prompt and run the following command:
-
-````powershell
-NuGet Sources Update -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" -UserName "your login email" -Password "your new password"
-````
+## Solution
+Update your credentials and use an API key instead of a password. Using an API key instead of a password is a more secure approach:
+1. [Generate an API key]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}#generate-an-api-key).
+1. Update the credentials for the Telerik NuGet feed by running `NuGet Sources Update -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" -UserName "api-key" -Password "YOUR-API-KEY" -StorePasswordInClearText`
diff --git a/knowledge-base/troubleshooting-nuget.md b/knowledge-base/troubleshooting-nuget.md
index 59f0ca6ae..dd0387386 100644
--- a/knowledge-base/troubleshooting-nuget.md
+++ b/knowledge-base/troubleshooting-nuget.md
@@ -18,7 +18,7 @@ One common problem is that your machine (PC or DevOps agent) is behind a proxy.
https://nuget.telerik.com/v3/search?q=reporting
-After you enter your telerik.com `username` and `password`, you should see a JSON search result containing a list of all the __Telerik Reporting__ packages available with your license.
+In the authentication window, enter `api-key` in the **User name** field and your [API key]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}#generate-an-api-key) in the **Password** field. After the successful authentication, you should see a JSON search result containing a list of all the __Telerik Reporting__ packages available with your license.
## Issue: The NuGet Package Takes Too Long to Install or Update on Visual Studio
@@ -34,9 +34,10 @@ After changing your Telerik password, you get `[Telerik Nuget] The V2 feed at '.
### Solution
-After changing your Telerik password, you must reset your credentials in the `NuGet.config` file. To do this, run the `NuGet Sources Update -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" -UserName "your login email" -Password "your new password"` command.
+Update your credentials and use an API key instead of a password. Using an API key instead of a password is a more secure approach:
-The password must contain only ASCII characters.
+1. [Generate an API key]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}#generate-an-api-key).
+1. Update the credentials for the Telerik NuGet feed by running `NuGet Sources Update -Name "telerik.com" -Source "https://nuget.telerik.com/v3/index.json" -UserName "api-key" -Password "YOUR-API-KEY" -StorePasswordInClearText`
As an alternative, you can [reset your Telerik NuGet Feed credentials from the Windows Credentials Manager](#solution-2-windows-credentials-manager)
@@ -71,7 +72,7 @@ Alternatively, use Windows Credentials Manager to remove the saved credentials:

-1. [Add the Telerik NuGet Feed]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}) again, and then enter the correct credentials. For more details, see the [Installing with Nuget]({%slug telerikreporting/installation%}#installing-with-nuget) article section.
+1. [Add the Telerik NuGet Feed]({%slug telerikreporting/using-reports-in-applications/how-to-add-the-telerik-private-nuget-feed-to-visual-studio%}) again, and then enter the correct credentials. For more details, see the [Installing with Nuget]({%slug telerikreporting/installation%}#using-nuget-packages) article section.
1. If desired, verify the NuGet credentials by inspecting the `NuGet.config` file located in `%AppData%\NuGet\NuGet.config`.
1. Reopen Visual Studio and access the Telerik NuGet server.