Skip to main content

Overview

The QuantumDMN SDKs provide a convenient way to interact with the Decision Engine API from your application. We support multiple programming languages to help you integrate DMN evaluation seamlessly into your stack.

Authentication

All SDKs use Zitadel for authentication. To authenticate your service, you will need to create a Service User in your Zitadel organization and generate a JSON key file.

Generating a JSON Key File

  1. Log in to the Zitadel Console.
  2. Navigate to your Organization.
  3. Go to Service Users and create a new user (or select an existing one).
  4. Navigate to the Keys tab.
  5. Click Add and select JSON as the key type.
  6. Download the generated .json file. This file contains the credentials required by the SDK to authenticate.
warning

Ensure that the Access Token Type for your Service User is set to JWT. This is required for the SDKs to correctly generate and sign the assertion for the authorization flow.

Business ID and KPIs

When evaluating a decision, you can optionally provide a businessId.

{
"businessId": "order-12345",
"variables": {
"amount": 100
}
}

The businessId is a crucial identifier that links a specific decision evaluation to your business context (e.g., an Order ID, Transaction ID, or User ID).

Why is it important?

  • Traceability: It allows you to trace a decision back to the specific business event that triggered it.
  • KPIs & Analytics: Decisions containing KPIs often rely on the businessId to aggregate metrics over time or correlate decisions with outcomes. To prevent duplicating metrics for evaluations that failed to process on the client, we remove the previous metrics for this businessId (if any) so that the KPIs are unaffected by backend failures.

We strongly recommend providing a meaningful businessId for every evaluation to maximize the utility of the Decision Engine's analytics features.