Microsoft.OpenApi.Hidi 1.6.26

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Microsoft.OpenApi.Hidi --version 1.6.26
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local Microsoft.OpenApi.Hidi --version 1.6.26
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Microsoft.OpenApi.Hidi&version=1.6.26
                    
nuke :add-package Microsoft.OpenApi.Hidi --version 1.6.26
                    

Overview

Hidi is a command line tool that makes it easy to work with and transform OpenAPI documents. The tool enables you validate and apply transformations to and from different file formats using various commands to do different actions on the files.

Capabilities

Hidi has these key capabilities that enable you to build different scenarios off the tool

• Validation of OpenAPI files 
• Conversion of OpenAPI files into different file formats: convert files from JSON to YAML, YAML to JSON
• Slice or filter OpenAPI documents to smaller subsets using operationIDs and tags
• Generate a Mermaid diagram of the API from an OpenAPI document

Installation

Install Microsoft.OpenApi.Hidi package from NuGet by running the following command:

.NET CLI(Global)

1. dotnet tool install --global Microsoft.OpenApi.Hidi --prerelease

.NET CLI(local)

1. dotnet new tool-manifest #if you are setting up the OpenAPI.NET repo 
2. dotnet tool install --local Microsoft.OpenApi.Hidi --prerelease 

How to use Hidi

Once you've installed the package locally, you can invoke the Hidi by running: hidi [command]. You can access the list of command options we have by running hidi -h The tool avails the following commands:

• Validate  
• Transform 
• Show
 

Validate

This command option accepts an OpenAPI document as an input parameter, visits multiple OpenAPI elements within the document and returns statistics count report on the following elements:

• Path Items  
• Operations  
• Parameters  
• Request bodies 
• Responses 
• Links 
• Callbacks 
• Schemas 
 

It accepts the following command:

• --openapi(-d) - OpenAPI description file path or URL 
• --loglevel(-ll) - The log level to use when logging messages to the main output 
 

Example: hidi.exe validate --openapi C:\OpenApidocs\Mail.yml --loglevel trace

Run validate -h to see the options available.

Transform

Used to convert file formats from JSON to YAML and vice versa and performs slicing of OpenAPI documents.

This command accepts the following parameters:

• --openapi(-d) - OpenAPI description file path in the local filesystem or a valid URL hosted on a HTTPS server 
• --csdl(--cs) - CSDL file path in the local filesystem or a valid URL hosted on a HTTPS server 
• --csdlfilter(--csf) - a filter parameter that a user can use to select a subset of a large CSDL file. They do so by providing a comma delimited list of EntitySet and Singleton names that appear in the EntityContainer. 
• --output(-o) - Output directory path for the transformed document.
• --output-folder(--of) - The output directory path for the generated files.
• --clean-ouput(--co) - an optional param that allows a user to overwrite an existing file.  
• --version(-v) - OpenAPI specification version.
• --metadata-version(--mv) - the metadata version to use.
• --format(-f) - File format 
• --terse-output(--to) - Produce terse json output
• --settings-path(--sp) - The configuration file with CSDL conversion settings.
• --loglevel(--ll) - The log level to use when logging messages to the main output 
• --inline-local - Inline local $ref instances 
• --inline-external(--ex) - Inline external $refs 
• --filterByOperationIds(--op) - Slice document based on OperationId(s) provided. Accepts a comma delimited list of operation ids. 
• --filterByTags(-t) - Slice document based on tag(s) provided. Accepts a comma delimited list of tags. 
• --filterByCollection(-c) - Slices the OpenAPI document based on the Postman Collection file generated by Resource Explorer 
• --manifest (-m) - Slices the OpenAPI document based on the requests defined in the API Manifest file referenced by the provided URI. For API manifests with multiple API Dependenties, use a fragment identifier to select the desired one. e.g ./apimanifest.json#example

Examples:

1. Filtering by OperationIds  
hidi transform -d files\People.yml -f yaml -o files\People.yml -v OpenApi3_0 --op users_UpdateInsights --co 
 
2. Filtering by Postman collection 
hidi transform --openapi files\People.yml --format yaml --output files\People2.yml --version OpenApi3_0 --filterByCollection Graph-Collection-0017059134807617005.postman_collection.json 
 
3. CSDL--->OpenAPI conversion and filtering 
hidi transform --csdl Files/Todo.xml --output Files/Todo-subset.yml --format yaml --version OpenApi3_0 --filterByOperationIds Todos.Todo.UpdateTodo 
 
4. CSDL Filtering by EntitySets and Singletons 
hidi transform --cs dataverse.csdl --csdlFilter "appointments,opportunities" -o appointmentsAndOpportunities.yaml --ll trace 
 

Run transform -h to see all the available usage options.

Show

This command accepts an OpenAPI document as an input parameter and generates a Markdown file that contains a diagram of the API using Mermaid syntax.

Examples:

1. hidi show -d files\People.yml -o People.md -ll trace

Plugin

This command generates an OpenAI style Plugin manifest and minimal OpenAPI file based on the provided API Manifest

Examples:

1. hidi plugin -m exampleApiManifest.yml -o mypluginfolder 
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
3.0.0 503 11/11/2025
2.3.9 463 11/6/2025
2.3.8 694 10/27/2025
2.3.7 196 10/24/2025
2.3.6 859 10/20/2025
2.3.5 684 10/14/2025
2.3.4 1,678 10/6/2025
2.3.3 1,642 10/2/2025
2.3.2 2,191 9/19/2025
2.3.1 2,564 9/8/2025
2.3.0 2,905 8/29/2025
2.2.0 2,501 8/25/2025
2.1.0 2,346 8/20/2025
2.0.1 2,660 8/18/2025
2.0.0 4,734 7/10/2025
2.0.0-preview.31 320 7/3/2025
2.0.0-preview.30 151 7/2/2025
2.0.0-preview.29 182 6/18/2025
2.0.0-preview.28 158 6/16/2025
2.0.0-preview.27 202 6/13/2025
2.0.0-preview.26 315 6/12/2025
2.0.0-preview.25 298 6/10/2025
2.0.0-preview.24 286 6/10/2025
2.0.0-preview.23 162 6/3/2025
2.0.0-preview.22 152 6/2/2025
2.0.0-preview.21 158 5/21/2025
2.0.0-preview.20 162 5/20/2025
2.0.0-preview.19 166 5/16/2025
2.0.0-preview.18 234 5/13/2025
2.0.0-preview.17 207 4/16/2025
2.0.0-preview.16 180 3/20/2025
2.0.0-preview.15 187 3/19/2025
2.0.0-preview.13 132 3/14/2025
2.0.0-preview.12 235 3/7/2025
2.0.0-preview.11 216 3/3/2025
1.6.28 3,798 10/6/2025
1.6.27 1,512 10/2/2025
1.6.26 1,784 9/22/2025
1.6.25 2,238 8/22/2025
1.6.24 16,871 4/1/2025
1.4.22 6,529 1/28/2025
1.4.21 2,851 1/23/2025
1.4.20 2,696 1/21/2025
1.4.19 2,847 1/16/2025
1.4.18 2,978 1/2/2025
1.4.17 2,894 12/20/2024
1.4.16 25,750 11/12/2024 1.4.16 is deprecated because it has critical bugs.
1.4.15 2,884 11/7/2024 1.4.15 is deprecated because it has critical bugs.
1.4.14 6,207 10/29/2024
1.4.13 3,259 10/22/2024
1.4.12 3,585 10/14/2024
1.4.11 3,344 10/4/2024
1.4.10 3,237 9/30/2024
1.4.9 5,196 8/30/2024
1.4.8 3,068 8/23/2024
1.4.7 3,821 7/30/2024
1.4.6 3,955 6/27/2024
1.4.5 7,062 6/18/2024
1.4.4 4,571 5/28/2024
1.4.2 4,499 5/2/2024
1.4.1 4,639 4/5/2024
1.4.0 4,666 3/5/2024
1.3.10 2,845 3/4/2024
1.3.9 3,645 2/6/2024
1.3.8 2,987 1/29/2024
1.3.7 3,291 1/16/2024
1.3.6 6,763 11/22/2023
1.3.5 3,317 11/14/2023
1.3.4 2,947 11/7/2023
1.3.3 2,870 11/6/2023
1.3.2 3,264 10/30/2023
1.3.1 4,422 10/5/2023
1.3.0 3,338 9/26/2023
1.2.9 3,875 9/7/2023
1.2.8 3,163 9/5/2023
1.2.7 2,886 9/1/2023
1.2.6 5,464 7/24/2023
1.2.5 6,453 6/19/2023
1.2.5-preview3 2,380 5/3/2023
1.2.5-preview2 2,157 4/5/2023
1.2.5-preview1 956 3/30/2023
1.2.4 7,821 3/7/2023
1.2.3 3,305 2/28/2023
1.2.2 3,508 2/1/2023
1.2.1 2,915 1/31/2023
1.2.0 2,967 1/17/2023
1.1.0 3,990 11/21/2022
1.1.0-preview3 481 10/25/2022
1.1.0-preview2 490 10/6/2022
1.1.0-preview1 520 9/20/2022
1.0.0-preview9 674 7/19/2022
1.0.0-preview8 592 7/8/2022
1.0.0-preview7 541 7/6/2022
1.0.0-preview6 584 6/23/2022
1.0.0-preview5 541 6/8/2022
1.0.0-preview4 684 5/17/2022
1.0.0-preview3 432 5/16/2022
1.0.0-preview2 470 5/11/2022
1.0.0-preview10 485 9/19/2022
1.0.0-preview1 590 4/13/2022
0.5.0-preview6 502 4/10/2022
0.5.0-preview5 657 3/3/2022
0.5.0-preview4 466 2/8/2022