Kiota uses OpenAPI definitions to simplify API client development, supporting your preferred programming languages and tools.
What is Microsoft Kiota?
Kiota is a command-line tool that generates API clients for APIs described with OpenAPI. It simplifies development by removing the need for a separate client library for each API. Kiota-generated clients provide a strongly typed experience and include features typically found in high-quality SDKs, making it easier to work with HTTP APIs.
The Meaning of Kiota Project
The Kiota project aims to make development easier by reducing the need for a different API client library for every API. It generates methods and objects so developers don’t have to learn a new REST library for each programming language. Kiota includes tools for working with JSON payloads and allows you to focus on specific parts of an OpenAPI description, keeping the generated code simple and focused. Similar to .NET’s minimal APIs, Kiota is designed to simplify workflows without adding complexity. Microsoft offers several installation options for different languages and toolchains, and since Kiota is a .NET application with open-source code on GitHub, developers can compile it themselves if needed.
Kiota Features
- Provides support for a wide range of languages: C#, CLI, Go, Java, PHP, Python, Ruby, and TypeScript
- Uses the full capabilities of OpenAPI descriptions
- Enables low effort implementation of new language support
- Generates only the source code necessary by building on a core library
- Minimizes external dependencies
- Uses JSON Schema descriptions to generate primitive based model serialization/deserialization code
- Enables generation of code for only a specified subset of an OpenAPI description
- Generates code that enables IDE autocomplete to aid in API resource discovery
- Enables full access to HTTP capabilities
Commands
Kiota offers the following commands to help you build your API client:
- search: search for APIs and their description from various registries.
- download: download an API description.
- show: show the API paths tree for an API description.
- generate: generate a client for any API from its description.
- update: update existing clients from previous generations.
- info: show languages and runtime dependencies information.
- login: signs in to private API descriptions repositories.
- logout: signs out from private API description repositories.

Use Kiota in Your Development Toolkit
To start using Kiota, there are a few installation options. The easiest way is to download the binaries directly, with versions available for Linux, macOS, and Windows. While Arm builds aren’t officially listed for Linux or Windows, a Linux Arm build is on GitHub, and Windows Arm users can run the x64 build through the Prism emulator.
If you use Docker, you can opt for the prebuilt Docker image, which works well with WSL2 on Windows. This lets you generate client code and export it to your development environment with ease.
For .NET SDK users, Kiota can be added via the .NET CLI. Make sure to download the correct version for your setup, like osx-arm64 for Apple Silicon Macs.
You can also automate updates by integrating Kiota into a GitHub Action, making it part of your CI/CD pipeline. Other installation options include community-built tools like Homebrew or asdf, which fit into existing package management workflows.
Visual Studio Code users can try the preview extension to use Kiota within the editor, streamlining development in Microsoft’s ecosystem.
Work with Kiota-Managed APIs
Kiota is simple to use. For .NET developers, start by installing the Kiota command-line tool and ensuring your project targets the correct framework and language version. .NET 6 or later is recommended, though older versions that support .NET Standard are also compatible. Kiota’s bundle includes dependencies like abstractions, serialisation options, and HTTP implementations for supported languages. For APIs requiring authentication, make sure identity management tools are set up.
Once everything is ready, use the command-line tool to generate an API client from an OpenAPI YAML file. Specify details like the target language, client class name, namespace, YAML location, and output directory. The tool includes options to customise the output, such as reducing backward compatibility.
After generating the client, include it in your project by importing the namespace, authorising the connection, and initialising the client object. The generated class simplifies API calls with built-in support for HTTP actions like GET and POST, making it easier to work with your API.

Choose Your Supported Language
To get started, select the programming language that best suits your application’s needs and development environment.
Accepted Values
- csharp
- go
- java
- php
- python
- ruby
- shell
- swift
- typescript
FAQs
What is Microsoft Kiota Abstraction?
Microsoft Kiota Abstraction provides language-specific libraries that define the basic components needed for Kiota-generated SDKs to work. These abstractions allow the SDKs to work independently of specific HTTP client libraries, making integration across platforms easier.
What is Kiota Core?
Kiota Core includes the main components and default features of Kiota, such as serialization, authentication, and HTTP transport. It provides the infrastructure needed to support the generated SDKs, ensuring consistent behaviour across different environments.
What is the Kiota SDK Generator?
The Kiota SDK Generator is a command-line tool that creates API clients from OpenAPI descriptions. It simplifies development by generating typed clients that provide a consistent experience across APIs.
