Soenneker.HighLevel.Contacts
4.0.238
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.HighLevel.Contacts --version 4.0.238
NuGet\Install-Package Soenneker.HighLevel.Contacts -Version 4.0.238
<PackageReference Include="Soenneker.HighLevel.Contacts" Version="4.0.238" />
<PackageVersion Include="Soenneker.HighLevel.Contacts" Version="4.0.238" />
<PackageReference Include="Soenneker.HighLevel.Contacts" />
paket add Soenneker.HighLevel.Contacts --version 4.0.238
#r "nuget: Soenneker.HighLevel.Contacts, 4.0.238"
#:package Soenneker.HighLevel.Contacts@4.0.238
#addin nuget:?package=Soenneker.HighLevel.Contacts&version=4.0.238
#tool nuget:?package=Soenneker.HighLevel.Contacts&version=4.0.238
Soenneker.HighLevel.Contacts
Upsert, search, retrieve, update, and delete HighLevel contacts through typed request and response models.
Install
dotnet add package Soenneker.HighLevel.Contacts
Register
using Soenneker.HighLevel.Contacts.Registrars;
services.AddHighLevelContactsUtilAsScoped();
The scoped registration keeps the underlying HighLevel client provider singleton, so disposing a scope does not tear down clients reused by later scopes. Use AddHighLevelContactsUtilAsSingleton() when the contact service itself should live for the application lifetime.
Set HighLevel:LogEnabled to true to emit operation-level logs. API keys are supplied per method call, allowing one service instance to work with multiple HighLevel accounts.
Upsert a contact
using Soenneker.HighLevel.Contacts.Abstract;
using Soenneker.HighLevel.OpenApiClient.Models;
var contact = new UpsertContactDto
{
LocationId = locationId,
Email = "person@example.com",
FirstName = "Morgan",
LastName = "Lee"
};
UpsertContactsSuccessfulResponseDto? response = await contacts.Upsert(
apiKey,
contact,
cancellationToken);
Upsert and Update normalize a non-null email address to lowercase on the supplied model before sending it.
Look up a contact
ContactsByIdSuccessfulResponseDto? byId = await contacts.GetById(
apiKey,
contactId,
cancellationToken);
ContactsSearchSchema? byEmail = await contacts.GetByEmail(
apiKey,
"person@example.com",
locationId,
cancellationToken);
GetByEmail performs an advanced search limited to one result and returns the first contact, or null when the response contains no match.
Other operations
ContactsSearchSuccessfulResponseDto? matches = await contacts.Search(
apiKey,
searchRequest,
cancellationToken);
UpdateContactsSuccessfulResponseDto? updated = await contacts.Update(
apiKey,
contactId,
updateRequest,
cancellationToken);
DeleteContactsSuccessfulResponseDto? deleted = await contacts.Delete(
apiKey,
contactId,
cancellationToken);
HighLevel error responses are surfaced as exceptions by the generated client; a nullable result means the API returned no usable response body, not that an error was suppressed.
| 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. |
-
net10.0
- Soenneker.HighLevel.ClientUtil (>= 4.0.313)
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 |
|---|---|---|
| 4.0.252 | 0 | 9/15/2026 |
| 4.0.251 | 51 | 9/13/2026 |
| 4.0.250 | 48 | 9/13/2026 |
| 4.0.249 | 53 | 9/12/2026 |
| 4.0.248 | 48 | 9/12/2026 |
| 4.0.247 | 56 | 9/12/2026 |
| 4.0.246 | 88 | 9/10/2026 |
| 4.0.245 | 81 | 9/9/2026 |
| 4.0.244 | 84 | 9/8/2026 |
| 4.0.243 | 91 | 9/8/2026 |
| 4.0.242 | 96 | 9/8/2026 |
| 4.0.241 | 96 | 9/8/2026 |
| 4.0.240 | 94 | 9/8/2026 |
| 4.0.239 | 103 | 9/7/2026 |
| 4.0.238 | 98 | 9/6/2026 |
| 4.0.237 | 98 | 9/5/2026 |
| 4.0.236 | 103 | 9/4/2026 |
| 4.0.235 | 94 | 9/4/2026 |
| 4.0.234 | 93 | 9/4/2026 |
| 4.0.233 | 94 | 9/4/2026 |
Update dependency Soenneker.HighLevel.ClientUtil to 4.0.313 (#473)