IBeam.Licensing.Services 2.4.0

dotnet add package IBeam.Licensing.Services --version 2.4.0
                    
NuGet\Install-Package IBeam.Licensing.Services -Version 2.4.0
                    
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="IBeam.Licensing.Services" Version="2.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="IBeam.Licensing.Services" Version="2.4.0" />
                    
Directory.Packages.props
<PackageReference Include="IBeam.Licensing.Services" />
                    
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 IBeam.Licensing.Services --version 2.4.0
                    
#r "nuget: IBeam.Licensing.Services, 2.4.0"
                    
#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 IBeam.Licensing.Services@2.4.0
                    
#: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=IBeam.Licensing.Services&version=2.4.0
                    
Install as a Cake Addin
#tool nuget:?package=IBeam.Licensing.Services&version=2.4.0
                    
Install as a Cake Tool

IBeam.Licensing.Services

Tenant licensing services, plan catalog, entitlement authorization, and default in-memory store for IBeam-backed applications.

For ASP.NET Core endpoints, use IBeam.Licensing.Api.

Install:

dotnet add package IBeam.Licensing.Services

Register the default services:

builder.Services.AddIBeamLicensingServices(builder.Configuration);

Configure plans through IBeam:Licensing:

{
  "IBeam": {
    "Licensing": {
      "Plans": [
        {
          "Key": "hubbsly-work",
          "DisplayName": "Hubbsly Work",
          "Description": "Work module access for users and agents.",
          "Entitlements": [ "feature:work", "work:cards:create", "mcp:tools" ],
          "Limits": {
            "Seats": 4,
            "McpCallsPerMonth": 10000
          },
          "Metadata": {
            "product": "hubbsly",
            "module": "work"
          }
        },
        {
          "Key": "hubbsly-money",
          "DisplayName": "Hubbsly Money",
          "Entitlements": [ "feature:money", "money:close:update" ],
          "Limits": {
            "Seats": 2
          }
        }
      ]
    }
  }
}

Grant a tenant license:

var license = await tenantLicenses.GrantLicenseAsync(
    tenantId,
    new GrantTenantLicenseRequest
    {
        PlanKey = "hubbsly-work",
        ProviderName = "stripe",
        ProviderCustomerId = "cus_123",
        ProviderSubscriptionId = "sub_123"
    },
    createdByUserId,
    ct);

Assign a seat to a user, API credential, or agent:

await seatAssignments.AssignSeatAsync(
    tenantId,
    license.LicenseId,
    new AssignLicenseSeatRequest
    {
        Subject = new LicenseSubject(LicenseSubjectTypes.Agent, "codex")
    },
    createdByUserId,
    ct);

Check access before running a feature:

await licenseAuthorizer.RequireEntitlementAsync(
    tenantId,
    new LicenseSubject(LicenseSubjectTypes.Agent, "codex"),
    "work:cards:create",
    ct);

The bundled store is in-memory and intended for local development, tests, and simple hosts. Production applications should replace ILicensingStore with an Azure Table, EF, or application-specific provider.

To replace the store:

builder.Services.AddIBeamLicensingServices(builder.Configuration);
builder.Services.AddScoped<ILicensingStore, MyLicensingStore>();

Register the replacement after AddIBeamLicensingServices so the host application's store wins.

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 IBeam.Licensing.Services:

Package Downloads
IBeam.Licensing.Api

ASP.NET Core endpoint wiring for IBeam tenant application licensing.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.4.0 115 6/24/2026
2.3.0 115 6/24/2026