KansoBoard.Contracts 2.0.0

dotnet add package KansoBoard.Contracts --version 2.0.0
                    
NuGet\Install-Package KansoBoard.Contracts -Version 2.0.0
                    
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="KansoBoard.Contracts" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="KansoBoard.Contracts" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="KansoBoard.Contracts" />
                    
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 KansoBoard.Contracts --version 2.0.0
                    
#r "nuget: KansoBoard.Contracts, 2.0.0"
                    
#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 KansoBoard.Contracts@2.0.0
                    
#: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=KansoBoard.Contracts&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=KansoBoard.Contracts&version=2.0.0
                    
Install as a Cake Tool

KansoBoard.ApiClient

Official .NET client for consuming the KansoBoard API from external applications (Discord bots, workers, backend services, console applications, etc.).

This package provides:

  • a unified HTTP client
  • domain-typed APIs (Boards, Columns, Cards, etc.)
  • standard DI integration
  • API key authentication compatible with the backend middleware

✨ Features

  • ✅ A single shared HttpClient
  • ✅ Business-oriented API (no raw HTTP)
  • HttpClientFactory compatible
  • ApiKey authentication
  • ✅ Typed DTOs/Requests
  • ✅ NuGet/versioning ready

📦 Installation

dotnet add package KansoBoard.ApiClient

⚙️ Configuration

Registering in the DI

services.AddKansoBoardApiClient(o =>
{
    o.BaseUrl = "https://api.kansoboard.io/";
    o.ApiKey = "kanso_xxxxxxxxxxxxxxxxx";
});

The API key is automatically injected into each request via the header:

Authorization: ApiKey <your-key>

🧩 API available

The main client exposes sub-APIs per domain:

IKansoBoardApiClient
├── Boards
├── Columns
└── Cards

📘 Example: Boards

var boards = await api.Boards.GetByProjectAsync(projectId);
var board = await api.Boards.CreateAsync(new CreateBoardRequest(
    projectId,
    “My new board”
));

📗 Example: Columns

var column = await api.Columns.CreateAsync(new CreateColumnRequest(
    boardId,
    "Todo",
    position: 1
));


📙 Example: Cards

var card = await api.Cards.CreateAsync(new CreateCardRequest(
    columnId,
    "My first card",
    "Optional description"
));


🔐 Authentication

Authentication relies on an API key generated by the user.

On the backend, the key is validated by a dedicated middleware and automatically associated with the project (ApiProjectId).


🧠 Design & Architecture

  • No dependency on the backend's Application layer
  • HTTP contracts are explicitly exposed via DTOs
  • The client contains no business logic
  • Easily testable (mock of IKansoBoardApiClient)

📄 License

MIT

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.
  • net10.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on KansoBoard.Contracts:

Package Downloads
KansoBoard.ApiClient

KansoBoard API Client package

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 270 12/19/2025