DecisioQ System Architecture Decision Concepts Decision List API Guide Developer Center Decision Studio Quick Start Playground End-to-End Examples

DecisioQ API Reference

Authentication, public hosts, routes, request fields, response fields, errors, and executable API examples.

Authentication

Protected DecisioQ routes require a bearer token issued by identity.vinquery.com. The Decision API and Knowledge Catalog validate incoming bearer tokens; the Decision API does not create, sign, or issue JWT tokens.

The hosted identity endpoint is https://identity.vinquery.com/connect/token.

Request a token with clientId, clientSecret, and audience. Send the returned token as Authorization: Bearer {token} when calling protected DecisioQ routes.

{
  "clientId": "{clientId}",
  "clientSecret": "{clientSecret}",
  "audience": "vinquery:api:decisioq"
}

The API Consumer must be enabled, allowed to request the DecisioQ audience, and linked to a DecisioQ account. The Decision API uses that account link for usage accounting.

Public hosts

ServiceBase URLPurpose
Identityhttps://identity.vinquery.comIssues JWT tokens for API Consumers.
Knowledge Cataloghttps://dks.vinquery.comReturns catalog discovery and decision metadata.
Decision APIhttps://dde.vinquery.comValidates and executes decision requests.

Request fields

FieldRequiredDescription
decisionIdYesStable catalog decision identifier, for example AUTO-AUCT-044.
profileIdNoDecision-specific profile returned by decision detail metadata. Omit to use the decision default.
scenarioIdNoDecision-specific scenario returned by decision detail metadata.
requestContextNoCorrelation, locale, unit, currency, time zone, and jurisdiction metadata.
optionsYes for Prepared Decision InputTwo or more candidate options. Each option contains optionId, optional name, and criterion values.
businessDataYes for business-data inputDomain payload prepared by an Industry Profile. Do not send both options and duplicate candidate arrays unless the API contract explicitly requires both.

Request context and units

API identifiers use stable American-English names. Presentation metadata can be supplied in requestContext. Measured values must include a unit when the selected decision or Industry Profile requires measurement normalization.

{
  "requestContext": {
    "correlationId": "client-workflow-123",
    "locale": "en-CA",
    "measurementSystem": "metric",
    "currency": "CAD",
    "timeZone": "America/Toronto",
    "jurisdiction": { "countryCode": "CA", "regionCode": "ON" }
  }
}
ErrorMeaning
MISSING_MEASUREMENT_UNITA measured value was submitted without a required unit.
UNSUPPORTED_MEASUREMENT_UNITThe supplied unit is not accepted for that measurement type.
INCOMPATIBLE_MEASUREMENT_UNITThe unit does not match the expected measurement dimension.

Route reference

Operation Method Route Purpose
Decision API HealthGET
https://dde.vinquery.com/health
Anonymous readiness check for the Decision API.
Preview DecisionPOST
https://dde.vinquery.com/api/v1/validate
Validate business data and selected decision input without producing a recommendation.
Execute DecisionPOST
https://dde.vinquery.com/api/v1/decide
Execute using either Prepared Decision Input or businessData.
Catalog HealthGET
https://dks.vinquery.com/health
Anonymous readiness check for the Knowledge Catalog.
Catalog SectorsGET
https://dks.vinquery.com/decisioncatalog
Load sectors, categories, decision counts, category metadata, and overview text.
Decision DetailGET
https://dks.vinquery.com/decisioncatalog/decisions/AUTO-AUCT-006
Load decision metadata, overview, criteria, profiles, scenarios, validation rules, and constraints.
Category DecisionsGET
https://dks.vinquery.com/decisioncatalog/sectors/{sectorCode}/categories/{categoryCode}/decisions
Load decisions for one selected sector/category.

Knowledge Catalog

GET https://dks.vinquery.com/decisioncatalog

GET https://dks.vinquery.com/decisioncatalog/decisions/AUTO-AUCT-006

The Knowledge Catalog is the source of decision metadata. Except for /health, catalog routes require Authorization: Bearer {token}.

{
  "catalogId": "DKR-AUTO-RUNTIME-001",
  "industry": "Automotive",
  "sectorCount": 13,
  "decisionCount": 1051,
  "sectors": [
    {
      "sectorCode": "AUTO-AUCT",
      "sector": "Auto Auctions",
      "decisionCount": 49,
      "categories": [
        {
          "categoryCode": "AUTO-AUCT-COMPLIANCE-RISK",
          "category": "Compliance & Risk",
          "decisionCount": 4
        }
      ]
    }
  ]
}

Preview Decision Validation

POST https://dde.vinquery.com/api/v1/validate

Returns validation status without producing a recommendation. Validation uses the same catalog metadata, required fields, candidate-count rules, numeric ranges, measurement rules, and hard constraints used by execution.

{
  "decisionId": "AUTO-AUCT-044",
  "requestContext": { "correlationId": "client-workflow-123" },
  "options": [
    {
      "optionId": "lot-001",
      "values": {
        "expected_profit_margin": 5200,
        "risk_exposure": 12,
        "title_confidence": 90,
        "repair_uncertainty": 12,
        "management_priority": 90
      }
    },
    {
      "optionId": "lot-002",
      "values": {
        "expected_profit_margin": 4700,
        "risk_exposure": 22,
        "title_confidence": 82,
        "repair_uncertainty": 22,
        "management_priority": 82
      }
    }
  ]
}

Execute Decision

POST https://dde.vinquery.com/api/v1/decide

Validates input, applies catalog-defined hard constraints, scores eligible options, and returns the recommendation and ranked result. Execution is deterministic; explanatory text does not override the ranking or recommendation.

{
  "decisionId": "AUTO-AUCT-044",
  "profileId": "balanced",
  "scenarioId": "standard",
  "requestContext": { "correlationId": "client-workflow-123" },
  "options": [
    {
      "optionId": "lot-001",
      "values": {
        "expected_profit_margin": 5200,
        "risk_exposure": 12,
        "title_confidence": 90,
        "repair_uncertainty": 12,
        "management_priority": 90
      }
    },
    {
      "optionId": "lot-002",
      "values": {
        "expected_profit_margin": 4700,
        "risk_exposure": 22,
        "title_confidence": 82,
        "repair_uncertainty": 22,
        "management_priority": 82
      }
    }
  ]
}

Responses

FieldDescription
requestIdServer-generated request identifier.
correlationIdClient-supplied correlation identifier when present.
decisionIdExecuted catalog decision.
recommendationRecommended option summary.
rankedResultsRanked eligible options and scores.
constraintOutcomesEligible and excluded candidate outcomes when hard constraints apply.
warningsNon-fatal validation or execution warnings.
executionTraceTechnical trace metadata when returned by the API.
{
  "requestId": "8ee2694f-2a93-42e6-9e37-626a3f83b02b",
  "correlationId": "client-workflow-123",
  "decisionId": "AUTO-AUCT-044",
  "recommendation": {
    "optionId": "lot-001",
    "name": "Controlled High-Margin Purchase"
  },
  "rankedResults": [
    { "rank": 1, "optionId": "lot-001", "score": 0.812 },
    { "rank": 2, "optionId": "lot-002", "score": 0.644 }
  ],
  "constraintOutcomes": {
    "eligibleCount": 2,
    "excludedCount": 0
  }
}