Soenneker.HighLevel.Contacts
11.0.328
Prefix Reserved
dotnet add package Soenneker.HighLevel.Contacts --version 11.0.328
NuGet\Install-Package Soenneker.HighLevel.Contacts -Version 11.0.328
<PackageReference Include="Soenneker.HighLevel.Contacts" Version="11.0.328" />
<PackageVersion Include="Soenneker.HighLevel.Contacts" Version="11.0.328" />
<PackageReference Include="Soenneker.HighLevel.Contacts" />
paket add Soenneker.HighLevel.Contacts --version 11.0.328
#r "nuget: Soenneker.HighLevel.Contacts, 11.0.328"
#:package Soenneker.HighLevel.Contacts@11.0.328
#addin nuget:?package=Soenneker.HighLevel.Contacts&version=11.0.328
#tool nuget:?package=Soenneker.HighLevel.Contacts&version=11.0.328
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 | net11.0 is compatible. |
-
net11.0
- Soenneker.HighLevel.ClientUtil (>= 11.0.405)
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 |
|---|---|---|
| 11.0.328 | 79 | 11/11/2026 |
| 11.0.327 | 79 | 11/11/2026 |
| 11.0.326 | 81 | 11/11/2026 |
| 11.0.325 | 79 | 11/11/2026 |
| 11.0.324 | 84 | 11/11/2026 |
| 11.0.323 | 74 | 11/11/2026 |
| 11.0.322 | 110 | 11/5/2026 |
| 11.0.321 | 89 | 11/3/2026 |
| 11.0.320 | 81 | 11/3/2026 |
| 11.0.319 | 90 | 11/3/2026 |
| 11.0.318 | 101 | 11/3/2026 |
| 11.0.317 | 98 | 11/3/2026 |
| 11.0.316 | 96 | 11/2/2026 |
| 11.0.315 | 67 | 11/2/2026 |
| 11.0.314 | 67 | 11/2/2026 |
| 11.0.313 | 78 | 10/31/2026 |
| 11.0.312 | 66 | 10/31/2026 |
| 11.0.311 | 65 | 10/31/2026 |
| 11.0.310 | 71 | 10/29/2026 |
| 11.0.309 | 66 | 10/29/2026 |
Updated Soenneker.HighLevel.ClientUtil to 11.0.405