Refitter 0.1.5-alpha

This is a prerelease version of Refitter.
There is a newer version of this package available.
See the version list below for details.
dotnet tool install --global Refitter --version 0.1.5-alpha
                    
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 Refitter --version 0.1.5-alpha
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Refitter&version=0.1.5-alpha&prerelease
                    
nuke :add-package Refitter --version 0.1.5-alpha
                    

Build Smoke Tests NuGet

Refitter

Refitter is a CLI tool for generating a C# REST API Client using the Refit library.

Usage:

To generate code from an OpenAPI specifications file, run the following:

$ refitter [path to OpenAPI spec file]

This will generate a file called Output.cs which contains the Refit interface and contract classes generated using NSwag

Here's an example generated output from the Swagger Petstore example

using Refit;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace GeneratedCode
{
    public interface ISwaggerPetstore
    {
        [Put("/pet")]
        Task<Pet> UpdatePet([Body]Pet body);

        [Post("/pet")]
        Task<Pet> AddPet([Body]Pet body);

        [Get("/pet/findByStatus")]
        Task<ICollection<Pet>> FindPetsByStatus();

        [Get("/pet/findByTags")]
        Task<ICollection<Pet>> FindPetsByTags();

        [Get("/pet/{petId}")]
        Task<Pet> GetPetById(long? petId);

        [Post("/pet/{petId}")]
        Task UpdatePetWithForm(long? petId);

        [Delete("/pet/{petId}")]
        Task DeletePet(long? petId);

        [Post("/pet/{petId}/uploadImage")]
        Task<ApiResponse> UploadFile(long? petId, [Body]FileParameter body);

        [Get("/store/inventory")]
        Task<IDictionary<string, int>> GetInventory();

        [Post("/store/order")]
        Task<Order> PlaceOrder([Body]Order body);

        [Get("/store/order/{orderId}")]
        Task<Order> GetOrderById(long? orderId);

        [Delete("/store/order/{orderId}")]
        Task DeleteOrder(long? orderId);

        [Post("/user")]
        Task CreateUser([Body]User body);

        [Post("/user/createWithList")]
        Task<User> CreateUsersWithListInput([Body]ICollection<User> body);

        [Get("/user/login")]
        Task<string> LoginUser();

        [Get("/user/logout")]
        Task LogoutUser();

        [Get("/user/{username}")]
        Task<User> GetUserByName(string username);

        [Put("/user/{username}")]
        Task UpdateUser(string username, [Body]User body);

        [Delete("/user/{username}")]
        Task DeleteUser(string username);
    }
}

Here's an example usage of the generated code above

using Refit;
using System;
using System.Threading.Tasks;

namespace GeneratedCode;

internal class Program
{
    private static async Task Main(string[] args)
    {
        var client = RestService.For<ISwaggerPetstore>("https://petstore3.swagger.io/api/v3");
        var pet = await client.GetPetById(2);

        Console.WriteLine($"Name: {pet.Name}");
        Console.WriteLine($"Category: {pet.Category.Name}");
        Console.WriteLine($"Status: {pet.Status}");
    }
}

The RestService class generates an implementation of ISwaggerPetstore that uses HttpClient to make its calls.

The code above when run will output something like this:

Name: Gatitotototo
Category: Chaucito
Status: Sold

System requirements

.NET 7.0

For tips and tricks on software development, check out my blog

If you find this useful and feel a bit generous then feel free to buy me a coffee ☕

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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
1.7.0 3,846 11/6/2025
1.7.0-preview.86 141 11/6/2025
1.6.5 242,878 10/6/2025
1.6.5-preview.85 130 10/6/2025
1.6.5-preview.84 127 10/6/2025
1.6.5-preview.83 125 10/6/2025
1.6.5-preview.81 129 10/6/2025
1.6.4 139,940 9/23/2025
1.6.4-preview.80 160 9/20/2025
1.6.3 70,082 9/18/2025
1.6.3-preview.79 260 9/17/2025
1.6.3-preview.78 143 9/13/2025
1.6.3-preview.77 145 9/11/2025
1.6.2 339,318 8/18/2025
1.6.2-preview.76 172 8/13/2025
1.6.1 301,732 7/8/2025
1.6.1-preview.75 150 7/8/2025
1.6.0 107,568 6/17/2025
1.6.0-preview.74 382 6/10/2025
1.5.6 96,267 6/7/2025
1.5.6-preview.73 168 5/31/2025
1.5.5 346,717 5/4/2025
1.5.5-preview.70 81 5/30/2025
1.5.5-preview.69 179 4/30/2025
1.5.4 92,260 4/26/2025
1.5.3 346,930 3/30/2025
1.5.3-preview.68 336 3/23/2025
1.5.3-preview.67 630 1/30/2025
1.5.2 937,430 1/29/2025
1.5.1 63,754 1/25/2025
1.5.1-preview.66 107 1/25/2025
1.5.0 89,529 1/19/2025
1.5.0-preview.65 453 12/8/2024
1.5.0-preview.64 111 12/7/2024
1.5.0-preview.63 124 12/7/2024
1.4.1 933,722 11/20/2024
1.4.1-preview.62 214 11/4/2024
1.4.0 360,405 10/14/2024
1.4.0-preview.61 142 10/7/2024
1.3.2 330,213 9/23/2024
1.3.2-preview.60 119 9/23/2024
1.3.1 50,685 9/20/2024
1.3.0 98,518 9/14/2024
1.2.1-preview.59 99 9/13/2024
1.2.1-preview.58 130 9/11/2024
1.2.1-preview.57 118 9/11/2024
1.2.1-preview.56 129 9/9/2024
1.2.1-preview.55 3,284 9/2/2024
1.2.1-preview.54 4,769 8/29/2024
1.2.0 563,539 8/12/2024
1.2.0-preview.53 5,218 8/4/2024
1.2.0-preview.52 1,894 7/29/2024
1.1.3 361,556 7/19/2024
1.1.3-preview.51 111 7/19/2024
1.1.2 27,169 7/17/2024
1.1.2-preview.50 96 7/16/2024
1.1.2-preview.49 123 7/11/2024
1.1.1 190,465 7/6/2024
1.1.1-preview.48 126 7/4/2024
1.1.1-preview.47 118 7/1/2024
1.1.1-preview.46 130 6/28/2024
1.1.0.45-preview 174 6/25/2024
1.0.2 240,260 6/13/2024
1.0.1 50,034 6/7/2024
1.0.0 248,183 5/3/2024
0.9.9.44-preview 143 4/29/2024
0.9.9 9,797 3/7/2024
0.9.8 5,386 2/27/2024
0.9.7 73,687 2/7/2024
0.9.6 1,916 1/29/2024
0.9.5 43,455 1/15/2024
0.9.4.43-preview 169 1/15/2024
0.9.4 33,777 1/12/2024
0.9.3.42-preview 215 1/10/2024
0.9.2 21,793 1/10/2024
0.9.1 5,598 1/9/2024
0.9.0 4,779 1/9/2024
0.8.7.41-preview 209 1/3/2024
0.8.7.40-preview 206 12/20/2023
0.8.7 56,721 12/18/2023
0.8.6.39-preview 216 12/14/2023
0.8.6.38-preview 255 12/14/2023
0.8.6 5,231 12/11/2023
0.8.5 58,685 11/23/2023
0.8.4 2,064 11/7/2023
0.8.3 1,941 10/31/2023
0.8.2 2,100 10/9/2023
0.8.1 2,567 10/4/2023
0.8.0 3,440 9/23/2023
0.7.5 4,413 9/7/2023
0.7.4 2,054 9/6/2023
0.7.3.37-preview 309 8/25/2023
0.7.3.36-preview 355 8/25/2023
0.7.3.35-preview 346 8/21/2023
0.7.3.34-preview 341 8/15/2023
0.7.3.33-preview 311 8/12/2023
0.7.3 3,721 8/26/2023
0.7.2.32-preview 328 8/7/2023
0.7.2 5,565 8/7/2023
0.7.1.31-preview 340 8/2/2023
0.7.1.30-preview 295 8/2/2023
0.7.1.29-preview 341 8/1/2023
0.7.1 2,398 8/3/2023
0.7.0.28-preview 277 7/28/2023
0.7.0.27-preview 374 7/28/2023
0.7.0.26-preview 363 7/27/2023
0.7.0.23-preview 353 7/27/2023
0.7.0.22-preview 389 7/27/2023
0.7.0.21-preview 336 7/27/2023
0.7.0.20-preview 374 7/27/2023
0.7.0 2,135 7/31/2023
0.6.3 2,890 7/22/2023
0.6.2 17,035 6/22/2023
0.6.1 2,022 6/20/2023
0.6.0 2,430 6/15/2023
0.5.30 2,232 6/12/2023
0.5.29 1,864 6/12/2023
0.5.28 1,887 6/10/2023
0.5.27 1,945 5/24/2023
0.5.26 2,005 5/11/2023
0.5.25 1,925 5/10/2023
0.5.3 1,916 5/5/2023
0.5.2 1,882 5/2/2023
0.5.1 1,879 5/2/2023
0.5.0 1,932 4/28/2023
0.4.2 1,963 4/24/2023
0.4.1 2,158 4/3/2023
0.4.0 2,031 3/24/2023
0.3.17 15,899 3/24/2023
0.3.16 1,959 3/22/2023
0.3.4 1,943 3/22/2023
0.3.3 2,034 3/17/2023
0.3.2 2,026 3/16/2023
0.3.1 1,977 3/14/2023
0.3.0 1,980 3/14/2023
0.2.4-alpha 380 3/1/2023
0.2.3-alpha 300 2/27/2023
0.2.2-alpha 345 2/25/2023
0.2.1-alpha 371 2/25/2023
0.2.0-alpha 322 2/24/2023
0.1.5-alpha 370 2/18/2023
0.1.4-alpha 387 2/17/2023
0.1.3-alpha 405 2/17/2023
0.1.2-alpha 371 2/17/2023