Yllibed.TenantCloudClient
3.0.60-dev
dotnet add package Yllibed.TenantCloudClient --version 3.0.60-dev
NuGet\Install-Package Yllibed.TenantCloudClient -Version 3.0.60-dev
<PackageReference Include="Yllibed.TenantCloudClient" Version="3.0.60-dev" />
<PackageVersion Include="Yllibed.TenantCloudClient" Version="3.0.60-dev" />
<PackageReference Include="Yllibed.TenantCloudClient" />
paket add Yllibed.TenantCloudClient --version 3.0.60-dev
#r "nuget: Yllibed.TenantCloudClient, 3.0.60-dev"
#:package Yllibed.TenantCloudClient@3.0.60-dev
#addin nuget:?package=Yllibed.TenantCloudClient&version=3.0.60-dev&prerelease
#tool nuget:?package=Yllibed.TenantCloudClient&version=3.0.60-dev&prerelease
Yllibed.TenantCloudClient
Unofficial .NET client library for TenantCloud, a rental property management platform.
This is not an official TenantCloud product. TenantCloud does not provide a public API; this library works against their internal endpoints.
Quick start
Targets .NET 8 and .NET 10. Install Yllibed.TenantCloudClient.Cdp as well for browser authentication. DI examples need Microsoft.Extensions.DependencyInjection and imports for that namespace, Yllibed.TenantCloudClient, Yllibed.TenantCloudClient.Cdp and Yllibed.TenantCloudClient.HttpMessages.
With dependency injection
services
.AddSecureTokenStore() // ITcTokenStore → OS credential store
.AddCdpTokenProvider() // ITcAuthTokenProvider (from Yllibed.TenantCloudClient.Cdp)
.AddTenantCloudClient(); // ITcClient → TcClient
Then inject ITcClient:
public class MyService(ITcClient tc)
{
public async Task<TcUserInfo?> WhoAmI(CancellationToken ct)
=> await tc.GetUserInfo(ct);
}
The default CDP provider reuses stored tokens or a browser with CDP enabled. For first-time interactive login, configure a provider as below.
Without dependency injection
using var tokenProvider = new CdpTokenProvider(new CdpTokenProviderOptions
{
TokenStore = new SecureTokenStore(),
AllowInteractiveLogin = true,
});
using var client = new TcClient(tokenProvider);
var user = await client.GetUserInfo(CancellationToken.None);
Rate limiting
Data reads are paced and HTTP 429 responses retried by default. Configure this
per client with TcRateLimitOptions, passed to TcClient or
AddTenantCloudClient. See the rate-limiting guide
for defaults, waiting budgets and TcRateLimitException metadata.
API
| Member | Type | Description |
|---|---|---|
GetUserInfo(ct) |
Task<TcUserInfo?> |
Current signed-in user |
Contacts |
IPaginatedSource<TcContact> |
Contacts (tenants, professionals) |
Properties |
IPaginatedSource<TcProperty> |
Properties |
Units |
IPaginatedSource<TcUnit> |
Rental units |
Transactions |
IPaginatedSource<TcTransaction> |
Financial transactions |
Leases |
IPaginatedSource<TcLease> |
Leases |
Filters: .OnlyTenants(), .OnlyActive(), .ForProperty(id), .ForStatus(...), and more.
var tenants = await client.Contacts.OnlyTenants().GetAll(ct);
GetAll has a default target of 300 results and may exceed maxResults by including whole API pages. It is not an unlimited fetch or a strict cap. Use GetPage for explicit traversal and truncate locally when necessary.
Migrating to v3
The v2 ITcContext login and Tenants collection have been replaced by token providers and Contacts. TcProperty exposes fields directly rather than through Attributes, and TcUnit.Price is now decimal?: null means unknown, not zero. See the migration guide.
Archived-contact filtering remains unconfirmed. See known limitations for the open follow-ups in issue #12.
For full documentation, see the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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 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. |
-
net10.0
-
net8.0
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.4)
- System.Text.Json (>= 9.0.4)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Yllibed.TenantCloudClient:
| Package | Downloads |
|---|---|
|
Yllibed.TenantCloudClient.Cdp
Chrome DevTools Protocol (CDP) based token provider for Yllibed.TenantCloudClient. Extracts auth tokens from an existing browser session — no external NuGet dependencies. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.0.60-dev | 82 | 9/13/2026 |
| 3.0.51-dev | 85 | 9/13/2026 |
| 3.0.48-dev | 81 | 9/13/2026 |
| 3.0.41-dev | 144 | 2/16/2026 |
| 3.0.40-dev | 118 | 2/16/2026 |
| 3.0.39-dev | 125 | 2/16/2026 |
| 3.0.20-dev | 124 | 2/16/2026 |
| 3.0.19-dev | 119 | 2/16/2026 |
| 3.0.18-dev | 122 | 2/16/2026 |
| 2.1.0 | 767 | 12/7/2020 |
| 2.1.0-dev.6 | 451 | 11/16/2020 |
| 2.1.0-dev.4 | 399 | 12/7/2020 |
| 2.1.0-dev.3 | 393 | 11/21/2020 |
| 2.1.0-dev.1 | 422 | 11/16/2020 |
| 2.0.0 | 726 | 11/16/2020 |
| 2.0.0-dev.36 | 390 | 11/16/2020 |
| 2.0.0-dev.35 | 382 | 11/16/2020 |
| 2.0.0-dev.33 | 432 | 11/5/2020 |
| 1.0.0-dev.21 | 508 | 6/5/2019 |
| 1.0.0-dev.20 | 518 | 6/5/2019 |