Highlight.Api 2.0.22

dotnet add package Highlight.Api --version 2.0.22
                    
NuGet\Install-Package Highlight.Api -Version 2.0.22
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Highlight.Api" Version="2.0.22" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Highlight.Api" Version="2.0.22" />
                    
Directory.Packages.props
<PackageReference Include="Highlight.Api" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Highlight.Api --version 2.0.22
                    
#r "nuget: Highlight.Api, 2.0.22"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Highlight.Api@2.0.22
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Highlight.Api&version=2.0.22
                    
Install as a Cake Addin
#tool nuget:?package=Highlight.Api&version=2.0.22
                    
Install as a Cake Tool

Highlight.Api

Codacy Badge NuGet Version NuGet Downloads License: MIT

Introduction

A .NET 10 client library for the Highlight API, designed to interact with the Highlight performance testing and reporting features.

Installation

dotnet add package Highlight.Api

Documentation

Official API documentation: https://help.highlight.net/reporting/reporting-api

Breaking Changes in v2.0.12

Version 2.0.12 introduces a new request object pattern for all API methods. The old method signatures with individual parameters are now marked as [Obsolete] and will cause compile-time errors that include instructions on how to migrate. The migration to the new pattern is straightforward and improves code readability and maintainability.

Migration Guide

Before (deprecated):

// This will cause a compile-time error
var result = await client.BearerSummary.GetAsync(
    lastNDays: 7,
    outputAvailability: true,
    cancellationToken: token);

After (recommended):

var request = new BearerSummaryRequest
{
    LastNDays = 7,
    OutputAvailability = true
};
var result = await client.BearerSummary.GetAsync(request, token);

To migrate your code:

  1. Create a new request object (e.g., BearerSummaryRequest, PerformanceSummaryRequest)
  2. Set the properties on the request object instead of passing individual parameters
  3. Call the method with the request object and cancellation token

The obsolete methods are marked with [Obsolete("...", true)] which generates compile-time errors. Follow the compiler messages to identify which calls need to be updated.

Quick Start

using Highlight.Api;
using Highlight.Api.Data;

var client = new HighlightClient(new HighlightClientOptions
{
    ApiKey = Guid.Parse("your_api_key_here"),
    BaseAddress = new Uri("https://reportingapi.highlighter.net")
});

// Using request objects (recommended)
var request = new PerformanceSummaryRequest
{
    LastNDays = 7,
    IsBusinessHours = true
};

var result = await client
    .PerformanceTestSummary
    .GetPrecisionAsync(request, CancellationToken.None);

Available Endpoints

The client provides access to the following API endpoints:

Property Description
BearerSummary Bearer circuit summary data (ADSL, SDSL, Dedicated Access)
BroadbandSummary Broadband connection summary data
CellularSummary Cellular connection summary data
DeviceInventory SNMP device inventory data
Folders Folder/location hierarchy
PerformanceTestSummary Performance test results (ICMP/TCP/UDP, Precision, MOS, HTTP Server)
SlaComplianceSummary SLA compliance summary data
SwitchPortCapacitySummary Switch port capacity summary data
TunnelSummary SD-WAN VPN tunnel summary data
WatchNodes Watch node information
WirelessAccessPoints Wireless access point summary data

Request Objects

All summary endpoints accept request objects that encapsulate query parameters:

Common Parameters (SummaryRequestBase)

Property Type Description
IsBusinessHours bool? Filter by business hours (true) or 24-hour period (false)
LastNDays int? Number of days to look back from today
FromDate string? Start date for the time window
ToDate string? End date for the time window
DateGranularity string? "Day" or "Month"
FolderIds List<int>? Filter by specific folder IDs

Endpoint-Specific Request Objects

Request Class Additional Properties
BearerSummaryRequest OutputAvailability, OutputLoad, OutputHealth
BroadbandSummaryRequest -
CellularSummaryRequest -
DeviceInventoryRequest FolderIds only
PerformanceSummaryRequest OutputHealth
SlaComplianceSummaryRequest OutputAvailability, OutputLoad, OutputHealth
SwitchPortCapacitySummaryRequest -
TunnelSummaryRequest OutputAvailability, OutputLoad, OutputHealth
WirelessAccessPointSummaryRequest OutputAvailability, OutputHealth
WatchNodesRequest FolderIds only

Examples

Get Bearer Summary with Health Data

var request = new BearerSummaryRequest
{
    LastNDays = 30,
    OutputAvailability = true,
    OutputLoad = true,
    OutputHealth = true
};

var bearers = await client.BearerSummary.GetAsync(request, cancellationToken);

Get Performance Test Results

var request = new PerformanceSummaryRequest
{
    LastNDays = 7,
    DateGranularity = "Day"
};

// Different test types available
var precision = await client.PerformanceTestSummary.GetPrecisionAsync(request, cancellationToken);
var icmpTcpUdp = await client.PerformanceTestSummary.GetIcmpTcpUdpAsync(request, cancellationToken);
var mos = await client.PerformanceTestSummary.GetMosAsync(request, cancellationToken);
var httpServer = await client.PerformanceTestSummary.GetHttpServerAsync(request, cancellationToken);

Get Folders and Watch Nodes

// Get all folders
var folders = await client.Folders.GetAllAsync(cancellationToken);

// Get watch nodes for specific folders
var watchRequest = new WatchNodesRequest
{
    FolderIds = [1, 2, 3]
};
var watchNodes = await client.WatchNodes.GetAsync(watchRequest, cancellationToken);

Get Device Inventory

var request = new DeviceInventoryRequest();
var devices = await client.DeviceInventory.GetAsync(request, cancellationToken);

Get SLA Compliance Summary

var request = new SlaComplianceSummaryRequest
{
    LastNDays = 30,
    OutputAvailability = true,
    OutputHealth = true
};

var compliance = await client.SlaComplianceSummary.GetAsync(request, cancellationToken);

License

This project is licensed under the MIT License - see the LICENSE file for details.

Copyright � 2025 Panoramic Data Limited. All rights reserved.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
2.0.22 198 3/29/2026
2.0.14 507 12/18/2025
2.0.12 301 12/18/2025
2.0.11 303 12/18/2025
2.0.9 302 12/18/2025
2.0.8 297 12/18/2025
2.0.6 679 6/3/2025
2.0.5 227 6/3/2025
2.0.2 224 6/2/2025
2.0.1 218 6/2/2025