Dev steps
Integrate the consumer API. End with an AI-ready implementation prompt.
Reference Sianik.License.Client
net8.0 library wrapping activate / deactivate / status / public-key. Or call HTTP directly.
ProjectReference → Sianik.License.Client.csproj
POST /v1/activate
Send license key + stable machine fingerprint. Demo: LIGUI-DEMO-PRO-LOCAL.
{ "licenseKey": "…", "machineFingerprint": "…" }
Verify ECDSA
Import publicKeyPem, clear signature field, verify canonical camelCase JSON (P-256).
LicenseCanonical.Verify(license, ecdsa)
Persist + soft recheck
Store the signed blob offline. Periodically GET /v1/status/{licenseId}?fp=. Handle 410 revoked.
Gate features & limits
Read limits (−1 unlimited). Without a license, enforce Free caps (servers / projects / workflows / named layouts).
Copy implementation prompt
Paste into your AI coding agent to scaffold the integration in your repo.
Open API docs & copy prompt