πΉ Feature: Generate a Lean, Custom Microsoft Graph SDK With Kiota
πΉ What wIt Does: Generates a minimal Microsoft Graph client library containing only the paths your app actually uses β dramatically smaller install footprint than the full Microsoft-published SDK.
What Is It Giving You:
β
Massive Size Reduction vs the Full SDK: The official Microsoft Graph SDK covers the entire Graph surface, but most apps only use a small slice (mail, calendar, Teams, To Do, Planner, SharePoint files). Kiota builds a client that includes just the slices you need. Perfect for mobile apps, edge functions, containers, or any environment where install size matters.
β
Same Conventions, Same Fluent Syntax: Kiota-generated clients follow the same patterns as the Microsoft-published SDK. Calls like graphClient.Me.Todo.Lists.GetAsync() feel completely familiar. Your team wonβt need to learn a new API style.
β
Scope With –include-path / –exclude-path: Use URL prefixes at generation time to define your slice. Example:
kiota generate –openapi https://aka.ms/graph/v1.0/openapi.yaml –include-path /me/todo/** –language CSharp
creates a To Doβonly client. Same pattern works for /me/messages/**, /teams/**, /sites/**, or any subset.
β
Interops With Microsoft Graph Core Library: Add Microsoft.Graph.Core (or language equivalent) for cross-cutting features like PageIterator, batch requests, and large file uploads. You get the small footprint and the ecosystem helpers.
β
Works Against v1.0 or Beta: Feed Kiota the official OpenAPI descriptions β https://aka.ms/graph/v1.0/openapi.yaml for GA or https://aka.ms/graph/beta/openapi.yaml for beta. Regenerate to pick up new API surface as needed.
β
Ten Languages, Same Tool: C#, Java, Go, Python, TypeScript, PHP, Ruby, Swift, Dart, plus CLI. One generator, consistent patterns across platforms β great for cross-language teams.
β
Not Just for Microsoft Graph: Kiota works with any OpenAPI-described API β internal REST APIs, Azure Management APIs, or third-party services.
β
Full-Fidelity Auth Story: Uses Azure.Identity credentials (DeviceCode, ManagedIdentity, DefaultAzureCredential, ClientSecret, etc.) via AzureIdentityAuthenticationProvider, with an allowedHosts allowlist to only send tokens to Graph.
πΈ Kiota output is source files in your repo β slightly larger repo, but negligible versus removing the full SDK.
πΈ New Graph APIs require regeneration to include the new models and request builders β plan for it in CI/CD.
π https://learn.microsoft.com/en-us/graph/sdks/generate-with-kiota
π Kiota overview: https://learn.microsoft.com/en-us/openapi/kiota/overview