Keel.Endpoints.Idempotency 1.0.0-rc.8

This is a prerelease version of Keel.Endpoints.Idempotency.
dotnet add package Keel.Endpoints.Idempotency --version 1.0.0-rc.8
                    
NuGet\Install-Package Keel.Endpoints.Idempotency -Version 1.0.0-rc.8
                    
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="Keel.Endpoints.Idempotency" Version="1.0.0-rc.8" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Keel.Endpoints.Idempotency" Version="1.0.0-rc.8" />
                    
Directory.Packages.props
<PackageReference Include="Keel.Endpoints.Idempotency" />
                    
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 Keel.Endpoints.Idempotency --version 1.0.0-rc.8
                    
#r "nuget: Keel.Endpoints.Idempotency, 1.0.0-rc.8"
                    
#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 Keel.Endpoints.Idempotency@1.0.0-rc.8
                    
#: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=Keel.Endpoints.Idempotency&version=1.0.0-rc.8&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Keel.Endpoints.Idempotency&version=1.0.0-rc.8&prerelease
                    
Install as a Cake Tool

Keel.Endpoints.Idempotency

Safe retries for POST and PATCH. A client sends Idempotency-Key: <uuid>; the first request runs and its response is stored; a retry with the same key gets that response back (with Idempotent-Replayed: true) without running the handler again. No double charges when the network drops the first response.

builder.Services.AddKeelIdempotency();                 // IDistributedCache: memory, or Redis if registered

[Post("payments")]
public sealed class Endpoint(Payments payments) : ResultEndpoint<CreatePayment, Created<Payment>>
{
    public override void Configure(EndpointOptions options) => options.Idempotent();
    // ...
}

// or for every POST and PATCH under a group:
app.MapKeelEndpoints("/api").WithIdempotency();
Case Answer
New key Runs the handler; stores the response (unless 5xx) for 24 hours
Same key, same request The stored response, Idempotent-Replayed: true
Same key, different request 422 problem details
Same key while the first is running 409 problem details, Retry-After: 1
No key Runs normally; 400 with options.Idempotent(o => o.RequireKey = true)

Keys are scoped to the endpoint and the authenticated user. See the idempotency guide.

Product Compatible and additional computed target framework versions.
.NET 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 (1)

Showing the top 1 NuGet packages that depend on Keel.Endpoints.Idempotency:

Package Downloads
Keel.Endpoints.Agents

Safe actions for AI agents on Keel.Endpoints MCP tools: the server asks the user to confirm before a destructive or sensitive tool runs (MCP elicitation, stateless), with a signed confirmation bound to the tool, its arguments and the user, and an audit trail of every write an agent makes. Fail-closed: no confirmation, no action.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-rc.8 50 11/12/2026
1.0.0-rc.7 76 11/1/2026
1.0.0-rc.6 60 11/1/2026
1.0.0-rc.5 63 10/31/2026
1.0.0-rc.4 64 10/31/2026
1.0.0-rc.3 61 10/31/2026
1.0.0-rc.2 69 10/31/2026
1.0.0-rc.1 72 10/24/2026
1.0.0-preview.6 191 10/23/2026
1.0.0-preview.5 66 10/23/2026