Tiltify.Client.AspNetCore
0.1.3-dev7
dotnet add package Tiltify.Client.AspNetCore --version 0.1.3-dev7
NuGet\Install-Package Tiltify.Client.AspNetCore -Version 0.1.3-dev7
<PackageReference Include="Tiltify.Client.AspNetCore" Version="0.1.3-dev7" />
<PackageVersion Include="Tiltify.Client.AspNetCore" Version="0.1.3-dev7" />
<PackageReference Include="Tiltify.Client.AspNetCore" />
paket add Tiltify.Client.AspNetCore --version 0.1.3-dev7
#r "nuget: Tiltify.Client.AspNetCore, 0.1.3-dev7"
#:package Tiltify.Client.AspNetCore@0.1.3-dev7
#addin nuget:?package=Tiltify.Client.AspNetCore&version=0.1.3-dev7&prerelease
#tool nuget:?package=Tiltify.Client.AspNetCore&version=0.1.3-dev7&prerelease
Tiltify.Client
A modern, async-first .NET 10 client library for the Tiltify v5 API, featuring:
- Kiota-generated typed REST client from the official OpenAPI spec
- OAuth client credentials per call, with tokens cached per client and refreshed before expiry
- Webhook signature verification (HMAC-SHA256 + Base64 using
Agash.Webhook.Abstractions) - Typed webhook event models for donations, facts/milestones, and more
- Dependency injection extensions for easy registration
- Native AOT compatible
Packages
| Package | Description |
|---|---|
Tiltify.Client |
Core client, auth, webhook handler and models |
Tiltify.Client.Generated |
Kiota-generated REST client |
Tiltify.Client.DependencyInjection |
DI registration helpers |
Tiltify.Client.AspNetCore |
ASP.NET Core middleware and endpoint helpers for webhook ingestion |
Quick Start
// Register services
services.AddTiltifyClient();
// Create a client for an application's credentials; tokens are cached per client ID
var factory = serviceProvider.GetRequiredService<ITiltifyClientFactory>();
var client = factory.CreateApiClient(new TiltifyCredentials("your-client-id", "your-client-secret"));
var polls = await client.Api.Public.Campaigns["campaign-id"].Polls.GetAsync();
foreach (Poll poll in polls?.Data ?? [])
{
Console.WriteLine($"{poll.Name}: {poll.AmountRaised?.Value} {poll.AmountRaised?.Currency}");
}
// Handle webhooks
var handler = serviceProvider.GetRequiredService<ITiltifyWebhookHandler>();
var result = await handler.HandleAsync(webhookRequest, new TiltifyWebhookOptions
{
SigningSecret = "your-webhook-signing-secret",
});
if (result.IsAuthenticated && result.Event is TiltifyDonationWebhookEvent donation)
{
Console.WriteLine($"Donation: {donation.Data.DonorName} — {donation.Data.Amount.Value} {donation.Data.Amount.Currency}");
}
HTTP
Every request, token and API, goes through the IHttpClientFactory client named
TiltifyClientFactory.HttpClientName, which AddTiltifyClient sets up with Kiota's default middleware
(retry, redirect, compression). Add a proxy or your own handlers with
services.AddHttpClient(TiltifyClientFactory.HttpClientName).
Typed list responses
Tiltify's OpenAPI document leaves the items of every paginated list untyped. scripts/regen-kiota.sh
runs scripts/patch-openapi.cs first, which types each list from its example, so Polls, Rewards,
Milestones, Donations and the rest come back as typed Data lists.
Webhook Signature Verification
Tiltify signs webhook deliveries using HMAC-SHA256. The signed string is {X-Tiltify-Timestamp}.{rawBody}, and the signature is Base64-encoded. This library verifies that automatically using the configured signing secret.
License
MIT
| Product | Versions 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. net11.0 is compatible. |
-
net10.0
- Agash.Webhook.Abstractions (>= 1.0.4-dev2)
- Tiltify.Client (>= 0.1.3-dev7)
-
net11.0
- Agash.Webhook.Abstractions (>= 1.0.4-dev2)
- Tiltify.Client (>= 0.1.3-dev7)
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 |
|---|---|---|
| 0.1.3-dev7 | 39 | 11/11/2026 |
| 0.1.3-dev6 | 43 | 11/11/2026 |
| 0.1.3-dev5 | 45 | 11/11/2026 |
| 0.1.3-dev4 | 46 | 11/11/2026 |
| 0.1.3-dev3 | 45 | 11/11/2026 |
| 0.1.3-dev2 | 48 | 11/11/2026 |
| 0.1.3-dev1 | 102 | 9/23/2026 |
| 0.1.2-dev1 | 118 | 8/13/2026 |
| 0.1.1-dev1 | 126 | 6/23/2026 |
| 0.1.0 | 186 | 6/21/2026 |
| 0.1.0-dev2.1 | 95 | 4/4/2026 |
| 0.1.0-dev2 | 127 | 4/4/2026 |
| 0.1.0-dev1.5 | 82 | 4/4/2026 |