A typed .NET 10 client and command-line tool for the DK Plus API.
DevOp.DK.Plus provides:
- a cohesive
IDkPlusClient for DK Plus-specific reads and writes;
- a provider-neutral
IExternalErpClient for applications that may also use another ERP;
- singular root resources and business groupings such as
Customer, Product, Sales.Invoice, Purchase.Vendor, GeneralLedger.Account, and Project.Task;
- query paging and
AsAsyncEnumerable streaming through IErpQuery<T>;
- DevOp-owned DTOs instead of generated Swagger types: lean portable models in
DevOp.ERP.Models and sealed DkPlus* subtypes (for example DkPlusCustomer) from IDkPlusClient;
- one create-request and one sparse update-request type per writable entity;
- per-operation tenant, company, and optional user credential resolution;
- safe structured diagnostics and actionable contract-mismatch errors;
- the
devop-dk global tool for interactive use and automation;
- the
DevOp.DK.Plus PowerShell module with one cmdlet for every devop-dk command.
- Introduction — architecture, package boundaries, and design goals
- Getting started — install the library and make the first request
- Configuration — authentication, language, paging, resilience, and validation
- Multitenancy — context providers, credential providers, and job contexts
- Client API and queries — singular resources, grouped business areas, filtering, paging, streaming, and DK Plus field projections
- Models and writes — portable models,
DkPlus* subtypes, create and sparse update requests
- Upgrading to 0.4 — breaking changes in the 0.4 packages: write request types, customer contacts and receivers, v2 document lines, Stored Date, and paging past 50,000 records
- Upgrading to 0.3 — breaking changes and renames in the 0.3 packages, and the 0.3.1 fix
- Company operations — settings, status, licence, connection, sync, and actions
- Webhooks — list, inspect, create, update, delete, and test webhooks
- Vendors and inventory —
Purchase.Vendor, Purchase.Invoice, approvals, inventory, and warehouses
- Command-line client — grouped
sales, purchase, and project commands plus reference-data commands
- PowerShell module — install from the PowerShell Gallery, connect, and run the first cmdlets
- PowerShell cmdlet reference — naming,
Get-Help, and cmdlet tables by area
- PowerShell pipelines and updates —
Get- to Update- piping, sparse updates, and JSON files
- PowerShell safety and errors —
-WhatIf, confirmations, secrets, and error handling
- PowerShell output and files — table views, JSON, and
Save-* cmdlets
- Sales documents — invoices, orders, quotes, PDF, HTML, and email
- Generic tables — dynamic table reads and field discovery
- Logging and errors — structured logging, credential redaction, and contract failures
- Localization and globalization — English and Icelandic model labels, API language, and CLI culture
- Request model validation — recursive validation before network I/O
- API coverage — implemented endpoint families and current limitations
| Package |
Purpose |
DevOp.ERP.Abstractions |
Provider-neutral ERP contracts, queries, capabilities, and DTOs |
DevOp.DK.Plus |
Typed DK Plus v1/v2 client and dependency-injection registration |
DevOp.DK.Plus.Cli |
.NET global tool installed as the devop-dk command |
The PowerShell module is published separately on the PowerShell Gallery:
| Module |
Purpose |
DevOp.DK.Plus (PowerShell Gallery) |
Cmdlets for DK Plus, one per devop-dk command; requires PowerShell 7.6 or later |
The NuGet packages target .NET 10; the PowerShell module needs PowerShell 7.6 or later. Credentials belong in an application-owned database, secret store, environment secret, or .NET user secrets—never source control.
dotnet add package DevOp.DK.Plus
dotnet tool install --global DevOp.DK.Plus.Cli
Install-Module DevOp.DK.Plus -Scope CurrentUser