HighGear.ApiClient 9.0.0.171

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package HighGear.ApiClient --version 9.0.0.171
                    
NuGet\Install-Package HighGear.ApiClient -Version 9.0.0.171
                    
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="HighGear.ApiClient" Version="9.0.0.171" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HighGear.ApiClient" Version="9.0.0.171" />
                    
Directory.Packages.props
<PackageReference Include="HighGear.ApiClient" />
                    
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 HighGear.ApiClient --version 9.0.0.171
                    
#r "nuget: HighGear.ApiClient, 9.0.0.171"
                    
#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 HighGear.ApiClient@9.0.0.171
                    
#: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=HighGear.ApiClient&version=9.0.0.171
                    
Install as a Cake Addin
#tool nuget:?package=HighGear.ApiClient&version=9.0.0.171
                    
Install as a Cake Tool

HighGear.ApiClient is the .NET client for the HighGear REST API.

Introduction

HighGear makes it easy to rapidly deploy and securely manage work, at scale. Empower everyday business users to start building seamless workflows and processes to get your entire team connected across the enterprise, with more visibility, auditability, and real-time measurement of all work activity. Assign tasks, manage work, track progress, and report the status of activity in real time using HighGear's no-code workflow and process management platform. Easily and securely.

And with HighGear's REST API, it's never been easier to rapidly integrate business applications and mission critical work, while HighGear's enterprise-grade security meets the rigors of the most highly regulated industries, keeping your data safe.

If you're interested in learning more about the HighGear platform, schedule a demo or contact us.

This package makes it easier to use the HighGear REST API from .NET applications, as it provides .NET methods and types (aka models) for calling into (and receiving data from) the REST API. It also includes other utilities for building integrations with the HighGear product.

Getting Started

To get started, install this package for your .NET application as follows. Make sure to specify the version of the HighGear API you want to use.

dotnet add package HighGear.ApiClient -v 9.0.0

Once you've done that, you will need to create an instance of the client. There are two ways of doing this:

// Create a client that uses an API key for authorization
HighGearApiClient client = HighGearApiClient.CreateForKey(
	host: "https://highgear.example.com",
	apiKey: "API KEY HERE"
);

// Create a client that uses a username and password for authorization via OAuth2
// Note: If the OAuth2 client is confidential, there is an optional clientSecret
// parameter where the client secret can be provided.
HighGearApiClient client = await HighGearApiClient.CreateUsingOAuthPasswordGrant(
	host: "https://highgear.example.com",
	username: "username",
	password: "password",
	clientId: "OAuth2 client_id"
);

Example: Getting Task Data

HighGearApiClient client = HighGearApiClient.CreateForKey("https://highgear.example.com", "API KEY HERE");

TaskGetModel<IReadOnlyDictionary<string, object>> task = await client.GetTask(3);

// Examples of getting field data
int taskId = task.JobId;
string briefDescription = (string)task.Fields["brief_description"];
ContactBasicInfo[] assignee = (ContactBasicInfo[])task.Fields["assignee"];

See the Field Value Types section below for a reference of what .NET value type is to be expected for each type of field.

Example: Verifying the Digital Signature of a Workflow Web Request

Each workflow web request contains a unique digital signature. The external system that receives the web request should verify the digital signature to be certain that the request originated from HighGear, to prevent unauthorized access.

(The below example verifies the digital signature using the public key obtained from an API connection. If you don't have an API connection, you can use another overload of DigitalSignatureHelper.VerifyDigitalSignature to provide the public key in PEM format loaded from a config file.)

// This is the MVC endpoint method. The WorkflowWebRequestContent type
// represents the web request body.
public async Task Post([FromBody] WorkflowWebRequestContent content)
{
    // Create the HighGearApiClient
    HighGearApiClient apiClient = HighGearApiClient.CreateForKey("https://highgear.example.com", "API KEY HERE");

    // Retrieve the digital signature from the header
    var signature = this.Request.Headers["X-HG-Workflow-Request-Signature"];

    // Verify the digital signature. This will throw an exception if the signature is not present or is invalid.
    await apiClient.VerifyDigitalSignature(content, signature);

    // Perform the work of your integration here
}

This example illustrates deserializing the WorkflowWebRequestContent model in a .NET Framework application. To do so, use the Newtonsoft.Json NuGet package.

.NET MVC applications can be configured to use Newtonsoft.Json for controllers using the AddNewtonsoftJson extension method in the Microsoft.AspNetCore.Mvc.NewtonsoftJson NuGet package:

var builder = WebApplication.CreateBuilder(args);
...
builder.Services.AddControllers().AddNewtonsoftJson();

Field Value Types

When getting task or contact data (which is returned from GetTaskAsync, GetContactAsync, the advanced search endpoints, and the task edit session endpoint), the .NET types for field values differ according to field type. The .NET types are as follows:

FieldDisplayType Enum API Field Type .NET Value Type
Textbox textbox string
NumericTextbox numeric double
AppendTextArea appendtextarea HighGear.ApiClient.TextArea
AttachedFiles files System.Collections.Generic.IReadOnlyList<HighGear.ApiClient.FileResult>
YesNo yesno bool
CheckboxList checkbox System.Collections.Generic.IReadOnlyList<string>
Dropdown dropdown string
DateTime datetime string (ISO 8601 date and time string in Coordinated Universal Time [UTC])
SingleContactLookup contact HighGear.ApiClient.ContactBasicInfo
Date date string (ISO 8601 date string)
TextArea textarea HighGear.ApiClient.TextArea
MultiContactLookup multicontact System.Collections.Generic.IReadOnlyList<HighGear.ApiClient.ContactBasicInfo>
RadioButtonList radio string
UrlTextbox url string
EmailTextbox email string
SingleProjectLookup project HighGear.ApiClient.TaskBasicInfo
Signature signature HighGear.ApiClient.Signature

Additionally, there are three special fields of field type dropdown that have special .NET types:

Record Type Field Name .NET Value Type
Task status HighGear.ApiClient.StatusResult
Task job_type HighGear.ApiClient.JobType
Contact contact_type HighGear.ApiClient.ContactType
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  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 was computed.  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. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos 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
10.3.0.244 164 12/30/2025
10.2.2.242 257 10/30/2025
10.2.1.236 222 9/9/2025
10.2.1.234 218 9/9/2025
10.2.0.226 225 9/9/2025
10.2.0.222 211 9/9/2025
10.2.0.218 358 6/9/2025
10.2.0.217 207 6/6/2025
10.1.0.208 224 12/2/2024
10.0.0.204 233 10/3/2024
10.0.0.202 225 10/3/2024
9.2.0.194 222 9/13/2024
9.2.0.191 340 10/27/2023
9.1.0.181 222 9/15/2023
9.0.0.175 272 7/17/2023
9.0.0.171 260 6/23/2023
8.9.0.152 268 7/17/2023
Loading failed