October 1st, 2024

Welcome to the OpenAPI Blog

Darrel Miller
Principal API Architect

OpenApiIntro.jpeg

New Home for an Old Friend

While this is the first post here, Microsoft has a long relationship with the OpenAPI specification. Microsoft has been a member of the OpenAPI Initiative since its inception and is a key contributor. We have been using OpenAPI internally for years and have a wide range of products and tools that help our customers work with OpenAPI descriptions as part of their API development process.

What you will find here

This blog is a place where we can share our experiences, best practices, and tips and tricks for working with OpenAPI. We will also share news and updates about the OpenAPI Specification and related tools and technologies. We hope that you will find this blog useful and that it will help you get the most out of OpenAPI. The content here will complement the Microsoft OpenAPI documentation portal where you can find more about the OpenAPI related tools we build.

Libraries

Many of the products and tools in the .NET ecosystem that work with OpenAPI leverage the Microsoft OpenAPI.NET library for parsing, creating and validating OpenAPI descriptions. Stay tuned for an upcoming post about our next major release that will bring performance improvements, API enhancements and add support for the OpenAPI v3.1 specification.

Client Code Generation

For developers interested in generating code to help them call APIs described by OpenAPI, we have the Kiota project. Kiota has support for generating clients in C#, Go, Java, PHP, Python and we look forward to bringing our TypeScript support out of preview soon. If your are a Dart developer, there is an active community effort to bring Dart support to Kiota.

OpenAPI Description Generation

If you like to generate OpenAPI descriptions from your existing C# code you may want to keep an eye on the changes happening to ASP.NET Core in .NET 9 with the built-in support for generating OpenAPI descriptions from your code. We will have more to share on this topic in the future.

Design First API Development

For those who prefer to create their API designs upfront, you should explore the new API design language TypeSpec. TypeSpec is a first class developer experience for designing APIs that can be exported to OpenAPI descriptions. TypeSpec is a great way to collaborate with your team on API designs and get feedback before you start coding.

Azure API Management and API Center

Azure API Management is our enterprise grade API gateway that can help you manage, secure, and publish your APIs. Azure API Management has built-in support for OpenAPI descriptions and can import your OpenAPI descriptions to create API products that can be published to developers.

Azure API Center is the newest member of the API related Azure services, designed to help you manage your APIs across the entire API lifecycle. API Center has built-in support for OpenAPI descriptions and can help you manage your APIs from design to deprecation.

PowerPlatform Connectors

For developers working looking to extend the PowerPlatform with custom connectors, you can use OpenAPI descriptions to create connectors that enable PowerApps and PowerAutomate flows to access your APIs. There are a wealth of examples in the PowerPlatform Connectors GitHub repository.

OpenAPI Transformation

Do you have an OpenAPI description that is YAML but you need it in JSON? Or you want to convert a v2 description to v3, or vice versa? We have a tool for that! Our Hidi tool can help you transform OpenAPI descriptions between versions and formats. It can also translate the CSDL descriptions used by OData to OpenAPI and provide graphical visualizations of your API descriptions.

Semantic Kernel AI Applications

If you are building AI infused applications, you may be interested in the Semantic Kernel support for plugins based on OpenAPI descriptions. You can use plugins to bring real time data from your APIs into your AI applications. If you have large OpenAPI descriptions and you only want to import a subset of that OpenAPI description there is API Manifest Plugins that can help you with that.

Copilot Agents

Our recent announcements of Copilot Agents provides another opportunity to leverage OpenAPI descriptions. Copilot Agents are a new way to extend the capabilities of Microsoft 365 Copilot with access to any APIs you can describe.

Join us on this journey

As you can see there are many Microsoft products that can help you leverage OpenAPI descriptions, and this list is far from complete.

We are excited to share our knowledge and experiences with you and we hope that you will join us on this journey. If you have any questions or topics you would like us to cover, please let us know in the comments below. We look forward to hearing from you and helping you get the most out of OpenAPI.

Category
OpenAPI

Author

Darrel Miller
Principal API Architect

PM for Graph Developer Tooling