Changelog

Release notes of Dcision — v0.6 Laya engine; v0.5 prepaid credits; v0.4 MCP server, Claude Code and webhook triggers; v0.3 destinations, teams, SDKs and Overview; v0.2 full Jev coverage; v0.1 launch.

v0.6 — October 6, 2026 · Laya engine

Decisions can now run on Laya, an open-source decision model (Apache 2.0) by Convai Innovations, besides Jev. See Engines and BYOK.

Engines

  • Default engine per workspace. Settings → Engine picks Jev or Laya for every decision of the workspace; each engine keeps its own credential and model.
  • Engine per decision. The new optional settings.engine ("jev" or "laya") pins one decision to an engine; without it, the decision follows the workspace default.
  • Laya on your server. Save your laya-serve URL — and its LAYA_API_KEY, if set — in Settings → Engine → Laya server, then Test it. Models: auto (Laya picks the checkpoint by language), english, multilingual, typed-decisions. Dcision only calls public https:// addresses.
  • metrics.engine now reports the engine that ran ("jev" or "laya"), and metrics.model the Laya checkpoint that answered, e.g. laya/multilingual. Laya calls are estimated at estimated_cost_usd: 0.

v0.5 — October 6, 2026 · Prepaid credits

Decisions past a plan's included volume are now paid with prepaid credits instead of overage on the invoice. See Credits.

Billing

  • Plan + credits. Plans keep their included decisions per billing cycle; past them, decisions are paid from the workspace's credits at the plan's price per 1M — US$12 (R$60) on Genesis and Developer, US$9 (R$45) on Growth. Subscriptions are charged their base price only.
  • Genesis is no longer a hard cap: past its free 1M decisions a month it keeps running while the workspace has credits. GET /v1/me now reports plan.hard_cap: false for Genesis.
  • Order of consumption: the included decisions, then promotional credits (the ones that expire first), then the paid balance, which never expires.
  • Card bonus: adding a card gives US$20 (R$100) in promotional credits, valid for 90 days — once per workspace and once per card.
  • Buy credits by card on Stripe's checkout, US$10 to US$1,000 (R$50 to R$5,000) per purchase, in the workspace's billing currency.
  • Automatic recharge (optional, with the Owner's explicit consent): when the available credit falls below a trigger, the saved card is charged the chosen amount — at most 10 times in 24 hours; a declined card pauses it and e-mails the owners.
  • Spend cap per billing cycle (optional, unlimited by default) and vouchers that add promotional credits.
  • Only the Owner buys credits and changes these settings; everyone else in the workspace sees the credits read-only.

API

  • New errors: 402 CREDITS_EXHAUSTED — the included decisions are used up and there are no credits left — and 402 SPEND_CAP_REACHED — the cycle's spend cap is reached. 402 QUOTA_EXCEEDED remains only for plans configured with a hard cap or without a price per 1M. See Errors.

v0.4 — October 5, 2026 · MCP server, Claude Code and webhook triggers

Agents can now use Dcision directly, and any system can trigger a decision with a URL.

MCP server

  • https://api.dcision.io/mcp, a remote MCP server (Streamable HTTP) authenticated with your API key: get_account, list_decisions, get_decision, check_state, run_decision, list_executions, list_templates, get_template and validate_schema. Same keys, limits and billing as the API; only run_decision is billed. See MCP server.
  • Works with Claude Code, Cursor, VS Code, Claude Desktop, Codex and Gemini CLI — and with plain curl.

Claude Code

  • The Dcision skill, published at https://docs.dcision.io/skills/dcision/SKILL.md: how decisions work, how to write and validate a decision schema, which calls are billed, and how to use the API with curl when the MCP server isn't connected. See Use Dcision in Claude Code.

Webhook trigger

  • Every decision can have a webhook URL — POST https://api.dcision.io/v1/hooks/whk_… — that runs its active version without an API key, for forms, CRMs, Zapier, n8n and Make. Send { "state": … } or the raw payload, and protect it with a whsec_ secret: a Dcision-Signature HMAC with a 300-second window, or Authorization: Bearer whsec_…. See Webhook trigger.
  • Managed in the decision's new Advanced tab: turn it on or off, rotate the URL, generate the secret, send a test and watch the latest calls live.
  • Webhook runs are billed like API calls and appear in executions with source: "webhook".

API

  • GET /v1/decisions lists the workspace's decisions and GET /v1/decisions/{slug} returns what a decision's active version accepts and answers — state schema, questions and options, actions and an example state. Both use the read rate-limit window and aren't billed.

v0.3 — October 5, 2026 · Destinations, teams and SDKs

Decisions now act on their results, workspaces become teams, and the official SDKs arrive.

Destinations

  • What happens next, per result. Attach destinations to a choice option, a score level, a probability threshold or a final action. Seven types: fixed replies and LLM answers returned in the response, agents that answer or take over, workflows (n8n, Make, Zapier, Pipedream), signed webhooks, API requests with variables and secrets, and functions your code runs.
  • In the editor: a Destination selector on every option and level, Destination when … ≥ … on probability questions, a minimum confidence per route, and destination nodes in the visual builder — whose palette and inspector now collapse.
  • Delivered for you: webhooks, API requests, workflows and agent hand-offs are delivered at least once, with 6 attempts over about 7 hours, Retry-After, a 10-second timeout, no redirects, an SSRF guard and a Dcision-Signature HMAC with zero-downtime rotation. Failed deliveries can be resent.
  • Workspace secrets ({{secrets.NAME}}), encrypted and masked everywhere.
  • Tested safely: the Playground previews destinations — secrets masked — until you switch on Run destinations for real; test keys and the Playground deliver with livemode: false.
  • API: responses carry a destinations array, GET /v1/executions returns it too, and the OpenAPI document describes the decision.completed webhook event.

Teams and accounts

  • Roles: Owner, Admin, Member and Viewer, enforced on every app request. 403 FORBIDDEN now also covers role refusals; losing access to a workspace answers with details.reason = "workspace_access".
  • Invitations by e-mail, valid 7 days, accepted at sign-in or with their link.
  • Several workspaces per person — up to 10 owned — with organization details printed on invoices; leave, remove, transfer ownership and delete a workspace.
  • Accounts: an optional password, Sign out everywhere, and a language for e-mails — English, Portuguese, Spanish, Russian or Chinese.

See Team, roles and account.

Overview

  • Every decision opens on an Overview tab: runs, success rate, latency, cost, actions and reasons, per-question statistics from the latest 2,000 runs, destination counts and calibration suggestions — from 20 runs on, each with the numbers behind it. See Overview and calibration.

SDKs

  • @dcision/sdk (TypeScript, Node.js, Bun, Deno, edge) and dcision (Python 3.9+): decide with retries that never run a decision twice, function dispatch, webhook verification, me() and executions. Not published yet: build them from source — see SDKs.

API

  • Idempotency keys are reserved before the run. A concurrent request with the same key gets 409 IDEMPOTENCY_CONFLICT with Retry-After: 1 instead of running again; errors release the key. See Idempotency.
  • 413 PAYLOAD_TOO_LARGE for bodies over 128 KB (it was INVALID_REQUEST with status 413), and 409 CONFLICT when two creates race.
  • GET /openapi.json is documented.

Decisions

  • Stricter rule validation when you save or deploy: rule values are checked against the options, levels and ranges they compare with — "Use a number between 0 and 1 (e.g. 0.7, not 70)." Deployed versions keep running unchanged.

Billing

  • After a paid plan ends mid-month, Genesis only counts the decisions made after it ended; a cancellation made in the customer portal can be resumed in the app; billing actions are rate limited.

CLI

  • List states: dcision decide and dcision check-state read JSON arrays as list states, and dcision validate lists a schema's destinations.
  • The CLI isn't on npm yet: build it from source.

Documentation

v0.2 — October 5, 2026 · Full Jev coverage and patterns

Dcision now covers everything Jev offers, and TypeSafe's architectural patterns are first-class features.

Decisions

  • Structured entries: instructions, option descriptions, score levels and probability criteria accept JSON objects and arrays as well as text, and instructions can point at state fields with backticks. Option descriptions are optional (null), and a score level can be a rubric with a label. See Questions.
  • Higher limits, aligned with Jev: up to 64 questions, 254 options plus other per choice, instructions up to 8,000 characters, descriptions, levels and criteria up to 2,000, context up to 8,000, 50 policy rules. See Limits.
  • List state: a decision can take an array of strings or objects — a chat transcript, a batch of records — up to 500 items. Text states reach the engine as plain strings.
  • decision_context: the decision's context is sent under this reserved key and no longer overwrites a context field your application sends.
  • Weighted levels: responses include scores, the probability-weighted level of each score question, and rules can compare it with "on": "score".
  • Composites: weighted combinations of answers, returned in composites and usable in rules. See Composites.
  • AND conditions: a rule can require up to 5 more conditions, across questions, confidence, weighted levels and composites.
  • Token budget: states that don't fit Jev's budget — about 32,000 tokens for the state plus the longest question, 64,000 for the state plus all questions — fail fast with 422 INVALID_STATE and a clear message.

Confidence

  • Confidence follows TypeSafe's formulas on one 0–1 scale. For probability questions it is now |2p − 1| instead of max(p, 1 − p) — 0 at a coin flip. Review minConfidence and confidence rules on probability questions: an old threshold t behaves like 2t − 1 now. See Confidence and probabilities.

Engine

  • Dcision's engine key runs on TypeSafe directly, with a model choice in Settings → Engine: jev-1.13.0 (pinned, default), jev-latest or jev-preview. metrics.model reports the exact version that answered.
  • timeoutMs is the decision's engine deadline, with up to 2 retries inside it on network errors, 429, 503, 529 and other 5xx answers, honoring Retry-After. Bursts on the shared engine key wait for a free slot instead of failing.
  • onEngineError: "fallback": when the engine fails, answer 200 with the fallback action and action_reason.type = "engine_error" instead of an error — not billed and not stored for idempotency. See Decision settings.
  • Token metrics: metrics.input_tokens and metrics.output_tokens in every response. Cost estimates use input tokens only — Jev doesn't bill output.

API

  • GET /v1/me: the key's workspace, the key, the plan's limits and the current period's usage.
  • GET /v1/executions: recent executions with answers, action and metrics, filtered by decision and status, with cursor pagination. Inputs are never returned.
  • Both use the same API keys, with a rate-limit window separate from decisions.

Patterns and templates

  • Four patterns from TypeSafe — speculative fan-out, confidence-gated routing, composite scoring and intent routing — documented with step-by-step builds.
  • Four new templates, one per pattern: ticket-triage, voice-banking, resume-screening and customer-service-router — nine in total. Lead Qualification gains the lead_score composite and Support Routing a minimum confidence on department.
  • The Templates page is organized by pattern, and the editor has a Patterns panel that shows which patterns a decision uses and how to adopt the others.

Fixes

  • A choice question could end up with one option more than the limit once other was added; the limit now counts the options besides other.
  • The decision's context no longer replaces a context field of the state.

Documentation

v0.1 — October 2026 · Launch

The first public release of Dcision, Decision as a Service.

Decisions

  • Decision schema: object state with typed fields or text state; up to 20 choice, score and probability questions (64 since v0.2); business context.
  • Uncertainty built in: a reserved other option on every choice question, per-question minimum confidence and a fallback action.
  • Policies on answers or confidence (eq, neq, gt, gte, lt, lte) and four actions — continue, block, escalate, fallback — explained by action_reason.
  • Editor and visual builder on the same draft, with auto-save, conflict detection and a live API-contract preview.
  • Five templates: lead qualification, support routing, spam detection, agent routing and RAG relevance.
  • Playground that runs unsaved drafts, shows distributions and near ties, compares runs and replays past inputs.
  • Deploys as immutable versions, slugs locked after the first deploy, disable and enable without losing a version.

API

  • POST https://api.dcision.io/v1/decisions/{slug} returning typed result, confidence, action, action_reason and metrics, with ?include=probabilities for full distributions.
  • API keys dcs_live_… and dcs_test_…: shown once, stored as hashes, revocable.
  • Idempotency-Key with 24-hour replays, X-Request-ID correlation, per-workspace rate limits with X-RateLimit-* headers and a single error format.

Engines

  • Jev (TypeSafe System One) as the first engine.
  • Dcision engine key included in every plan, or bring your own key for OpenRouter, TypeSafe or Vercel AI Gateway — encrypted with AES-256-GCM.

Observability

  • Executions with action reason, confidence, distributions, model, latency, estimated cost and request ID; input and output storage configurable per decision.
  • Usage and Dashboard with volume, latency percentiles, error rate and estimated engine cost; log retention per plan.

Plans and billing

  • Genesis (free, 1M decisions per month), Developer, Growth and Enterprise plans, monthly or annual, in USD or BRL.
  • Stripe checkout, immediate upgrades with proration, downgrades at the end of the cycle, cancellation at period end, invoices and quota e-mails at 80% and 100%.

Tooling

  • CLI dcision: login, decide, templates, init, validate and check-state — built from source, as @dcision/cli isn't on npm yet.
  • Documentation at docs.dcision.io with search, /llms.txt, /llms-full.txt and a Markdown version of every page.

On this page