Skip to content
This is a client library in c# to demonstrate the usage of the signhost api using .net
Branch: master
Clone or download
MrJoe Merge pull request #39 from BerendJonkman/SIG-2334-Add-Itsme-Verifica…

Add itsme identification verification

Fixes SIG-2334
Latest commit 794df0c Jun 5, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Merge pull request #39 from BerendJonkman/SIG-2334-Add-Itsme-Verifica… Jun 5, 2019
.appveyor.yml Fix AppVeyor Error on wrong organization input parameter Mar 12, 2019
.editorconfig Refactoring to Flurl Apr 19, 2016
.gitignore Added v3.ncrunchsolution Feb 16, 2017 Added missing required parameters to readme Jan 18, 2019

Signhost client library

join gitter chat Build status Nuget package Quality Gate

This is a client library in c# to demonstrate the usage of the signhost api using .net. You will need a valid APPKey and APIKey. You can request a APPKey for signhost at


Get it on NuGet:

PM> Install-Package SignhostClientLibrary

Example code

The following code is an example of how to create and start a sign transaction with two documents.

var client = new SignHostApiClient(new SignHostApiClientSettings("AppName appkey", "apikey or usertoken"));

var transaction = await client.CreateTransactionAsync(new Transaction
	Signers = new List<Signer>
		new Signer
			Email = "",
			SignRequestMessage = "Could you please sign this document?",
			SendSignRequest = true,
			 * The verifications listed here are executed in order.
			 * Your last verification _must_ be one of the following:
			 * - PhoneNumberVerification
			 * - ScribbleVerification
			 * - ConsentVerification
			Verifications = new List<IVerification> {
				new PhoneNumberVerification {
					Number = "+3161234567890"
				new ScribbleVerification {
					ScribbleName = "John Doe",
					RequireHandsignature = true,

await client.AddOrReplaceFileToTransactionAsync("PathToFile",    transaction.Id, "First document",    new FileUploadOptions());
await client.AddOrReplaceFileToTransactionAsync("PathOtherFile", transaction.Id, "General agreement", new FileUploadOptions());

/* When everything is setup we can start the transaction flow */
await client.StartTransactionAsync(transaction.Id);
You can’t perform that action at this time.