Tiltify.Client
0.1.3-dev7
dotnet add package Tiltify.Client --version 0.1.3-dev7
NuGet\Install-Package Tiltify.Client -Version 0.1.3-dev7
<PackageReference Include="Tiltify.Client" Version="0.1.3-dev7" />
<PackageVersion Include="Tiltify.Client" Version="0.1.3-dev7" />
<PackageReference Include="Tiltify.Client" />
paket add Tiltify.Client --version 0.1.3-dev7
#r "nuget: Tiltify.Client, 0.1.3-dev7"
#:package Tiltify.Client@0.1.3-dev7
#addin nuget:?package=Tiltify.Client&version=0.1.3-dev7&prerelease
#tool nuget:?package=Tiltify.Client&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)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.15)
- Microsoft.Extensions.Http (>= 10.0.15)
- Microsoft.Extensions.Options (>= 10.0.15)
- Microsoft.Kiota.Abstractions (>= 2.1.6)
- Microsoft.Kiota.Http.HttpClientLibrary (>= 2.1.6)
- Microsoft.Kiota.Serialization.Json (>= 2.1.6)
- Tiltify.Client.Generated (>= 0.1.3-dev7)
-
net11.0
- Agash.Webhook.Abstractions (>= 1.0.4-dev2)
- Microsoft.Extensions.Http (>= 11.0.0)
- Microsoft.Kiota.Abstractions (>= 2.1.6)
- Microsoft.Kiota.Http.HttpClientLibrary (>= 2.1.6)
- Microsoft.Kiota.Serialization.Json (>= 2.1.6)
- Tiltify.Client.Generated (>= 0.1.3-dev7)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Tiltify.Client:
| Package | Downloads |
|---|---|
|
Tiltify.Client.DependencyInjection
Dependency injection extensions for Tiltify.Client. |
|
|
Tiltify.Client.AspNetCore
ASP.NET Core adapter package for Tiltify.Client. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.3-dev7 | 71 | 11/11/2026 |
| 0.1.3-dev6 | 76 | 11/11/2026 |
| 0.1.3-dev5 | 50 | 11/11/2026 |
| 0.1.3-dev4 | 49 | 11/11/2026 |
| 0.1.3-dev3 | 57 | 11/11/2026 |
| 0.1.3-dev2 | 56 | 11/11/2026 |
| 0.1.3-dev1 | 410 | 9/23/2026 |
| 0.1.2-dev1 | 144 | 8/13/2026 |
| 0.1.1-dev1 | 271 | 6/23/2026 |
| 0.1.0 | 467 | 6/21/2026 |
| 0.1.0-dev2.1 | 432 | 4/4/2026 |
| 0.1.0-dev2 | 146 | 4/4/2026 |
| 0.1.0-dev1.5 | 86 | 4/4/2026 |
| 0.1.0-dev1 | 139 | 4/2/2026 |