// Metadata created by nebel
// ParentAssemblies: assemblies/getting-started/as_managing-registry-artifacts.adoc

[id="generating-client-sdk-using-web-console_{context}"]
= Generating client SDKs for OpenAPI artifacts using the {registry} web console

[role="_abstract"]
You can use the {registry} web console to configure, generate, and download client software development kits (SDKs) for OpenAPI artifacts. You can then use the generated client SDKs to build your client applications for specific platforms based on the OpenAPI. 

{registry} generates client SDKs for the following programming languages: 

 * C# 
 * Go
 * Java  
 * PHP
 * Python
 * Ruby
 * Swift
 * TypeScript

NOTE: Client SDK generation for OpenAPI artifacts runs in your browser only, and cannot be automated by using an API. You must regenerate the client SDK each time a new artifact version is added in {registry}. 

.Prerequisites

* {registry} is installed and running in your environment.

* You are logged in to the {registry} web console:
+ 
`{registry-url}`

* An OpenAPI artifact has been added to {registry} using the web console, command line, Maven plug-in, or a Java client application. 

.Procedure

. On the *Artifacts* tab, browse the list of artifacts stored in {registry}, or enter a search string to find a specific OpenAPI artifact. You can select from the list to search by criteria such as name, group, labels, or global ID.  

. Click the OpenAPI artifact in the list to view its details. 

. In the *Version metadata* section, click *Generate client SDK*, and configure the following settings in the dialog:

** *Language*: Select the programming language in which to generate the client SDK, for example, *Java*.
** *Generated client class name*: Enter the class name for the client SDK, for example, `MyJavaClientSDK.`
** *Generated client package name*: Enter the package name for the client SDK, for example, `io.my.example.sdk`

. Click *Show advanced settings* to configure optional comma-separated lists of path patterns to include or exclude:
** *Include path patterns*: Enter specific paths to include when generating the client SDK, for example, `\\**/.*, \**/my-path/*`. If this field is empty, all paths are included.
** *Exclude path patterns*: Enter specific paths to exclude when generating the client SDK, for example, `\**/my-other-path/*`. If this field is empty, no paths are excluded.
+
.Generate a Java client SDK in {registry} web console
image::images/getting-started/registry-web-console-client-sdk.png[Generate a Java client SDK in the registry web console]

. When you have configured the settings in the dialog, click *Generate and download*. 

. Enter a file name for the client SDK in the dialog, for example, `my-client-java.zip`, and click *Save* to download.

[role="_additional-resources"]
.Additional resources
* {registry} uses Kiota from Microsoft to generate the client SDKs. For more information, see the https://github.com/microsoft/kiota[Kiota project in GitHub^]. 
* For more details and examples of using the generated SDKs to build client applications, see the https://learn.microsoft.com/en-us/openapi/kiota[Kiota documentation^].