BinkyLabs.OpenApi.Arazzo 1.0.0-preview.3

This is a prerelease version of BinkyLabs.OpenApi.Arazzo.
dotnet add package BinkyLabs.OpenApi.Arazzo --version 1.0.0-preview.3
                    
NuGet\Install-Package BinkyLabs.OpenApi.Arazzo -Version 1.0.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="BinkyLabs.OpenApi.Arazzo" Version="1.0.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="BinkyLabs.OpenApi.Arazzo" Version="1.0.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="BinkyLabs.OpenApi.Arazzo" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add BinkyLabs.OpenApi.Arazzo --version 1.0.0-preview.3
                    
#r "nuget: BinkyLabs.OpenApi.Arazzo, 1.0.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package BinkyLabs.OpenApi.Arazzo@1.0.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=BinkyLabs.OpenApi.Arazzo&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=BinkyLabs.OpenApi.Arazzo&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Tool

NuGet Version GitHub Actions Workflow Status

OpenAPI Arazzo Library for dotnet

This project provides a .NET implementation of the OpenAPI Arazzo Specification, allowing you to manage workflows for REST APIs with OpenAPI documents (v3.0+), following the official OpenAPI Arazzo 1.0.0 specification.

The library enables developers to programmatically apply parse, build, serialize, validate arazzo documents.

This library was funded in part by the Interledger Foundation. See the related announcement: SDK Grant Funds Security Features, OpenAPI Specification, and Arazzo Workflow Support in Kiota.

Library

Installing the library

You can install this library via the package explorer or using the following command.

dotnet add <pathToCsProj> package BinkyLabs.OpenApi.Arazzo

Examples

Parsing an Arazzo document

The following example illustrates how you can load or parse an Arazzo document from JSON or YAML.

var (arazzoDocument) = await ArazzoDocument.LoadFromUrlAsync("https://source/arazzo.json");

CLI

Installing the CLI

You can install the Arazzo CLI as a dotnet tool.

dotnet tool install -g BinkyLabs.OpenApi.Arazzo.Tool

Validating an Arazzo document

The validate command loads an Arazzo document and prints any errors or warnings.

clia validate pathOrUrlToArazzoDescription

Use --warnings-as-errors to return an error exit code when warnings are present.

clia validate pathOrUrlToArazzoDescription --warnings-as-errors

Using the GitHub Action

- uses: BinkyLabs/openapi-arazzo-dotnet@v1
  with:
    input: 'arazzo/arazzo.yaml'
    warnings-as-errors: 'true'

Using the container image

docker run --rm \
  -v $(pwd)/arazzo:/app/arazzo:ro \
  ghcr.io/binkylabs/openapi-arazzo-dotnet:1 \
  validate /app/arazzo/arazzo.yaml
Serializing an Arazzo document

The following example illustrates how you can serialize an Arazzo document, built by the application or previously parsed, to JSON.

var arazzoDocument = new ArazzoDocument
{
    Info = new ArazzoInfo
    {
        Title = "Test Arazzo",
        Version = "1.0.0"
    },
    Workflows = new List<ArazzoWorkflow>
    {
        new ArazzoWorkflow
        {
            //...
        }
    }
};

using var textWriter = new StringWriter();
var writer = new OpenApiJsonWriter(textWriter);
document.SerializeAsV1(writer);
var jsonResult = textWriter.ToString();
// or use flush async if the underlying writer is a stream writer to a file or network stream

Experimental features

This library implements the following experimental features:

  • NONE

Release notes

The OpenAPI Arazzo Libraries releases notes are available from the CHANGELOG

Debugging

Contributing

This project welcomes contributions and suggestions. Make sure you open an issue before sending any pull request to avoid any misunderstanding.

Trademarks

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 is compatible.  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.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-preview.3 43 7/7/2026
1.0.0-preview.2 53 6/25/2026
1.0.0-preview.1 64 6/25/2026