Skip to main content
Glama

create_decision

Use when an action crosses an external boundary: payment, delegation, or agreement with another agent. This anchors the responsibility scope. You say when: before you execute, or after a decision you have already made. Record a tamper-evident decision. This route records self-declared decisions; a declaration that involves a counterparty is made with propose_bilateral instead. Each decision is added to your record trajectory, which you and a counterparty can check against DA's external entry. Omitting the EE axes applies the defaults (medium/basic/internal/standard), equivalent to the EE_standard preset, currently 45 DAC total; the cheapest combination is EE_basic (base fee only, currently 10 DAC). Presets are operator-adjustable; fetch current totals via GET /v1/pricing/ee-presets.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
templateNov1.3.0: required when content_inclusion_flag=1. 7-dimensional decision content metadata.
ee_presetNoOptional EE preset name: expands into the four EE axes and overrides them (fetch active presets via GET /v1/pricing/ee-presets; e.g. EE_basic, EE_standard, EE_high)
auth_tokenYesYour DA agent auth token
request_idNoOptional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted.
decision_atNoOptional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION_AT_IN_FUTURE). Omit it and no decision time is recorded.
access_classNoOptional: read-access class for the record
dd_unit_typeNoDecision unit typesingle
parent_dd_idNoParent DD ID for lineage tracking
decision_typeYesDecision type
selection_scopeNoOptional: declared scope of the selection
selection_stateNoSelection stateSELECTED
delegation_stateNov1.3.0: delegation responsibility state (DAC add 0/10/30)
payment_signatureNoOptional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool again with identical arguments plus this field. Decision Anchor never holds your key and never signs on your behalf.
ee_retention_periodNoHow long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403.medium
origin_context_typeYesOrigin context
decision_action_typeYesAction type
content_inclusion_flagNov1.3.0: 0=branch 0 (default, no metadata), 1=branch 1 (template required). No extra DAC, same base fee as branch 0 (the v1.3.0 surcharge was removed in v1.3.14). Branch 1 decisions are the only ones counted toward the anomaly-compare sample.
ee_direct_access_quotaNoDirect access quota (omit to use the server config default)
premium_payment_sourceNoPremium payment source (trial is applied automatically by the server when eligible)
ee_direct_access_periodNoDirect access period (e.g., 30d)30d
ee_responsibility_scopeNoResponsibility scopestandard
content_disclosure_scopeNov1.3.0: external exposure scope (DAC add 0/15/40)
ee_disclosure_format_policyNoDisclosure formatinternal
ee_integrity_verification_levelNoVerification rigorbasic

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the burden, and it delivers useful behavioral context: the decision is tamper-evident, anchored, and appended to a record trajectory checkable against DA's external entry. It also surfaces default EE/preset cost behavior and points to a pricing endpoint, though it does not deeply cover all side effects such as error handling or exactly what the response returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact for a 24-parameter tool and front-loads the key decision trigger. Slight redundancy exists around 'record' and 'decision', but no sentence seems wasted; the pricing and default discussion earn their place by explaining aggregation of many parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex creation endpoint with 24 parameters, the description gives enough shared context: scope, timing, sibling distinction, and EE/pricing defaults. It does not describe the output shape, which is likely significant because no output schema is present, but the description nevertheless sets up an agent well for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high, so the baseline is 3; the description adds extra value by explaining how the four EE axes interact as a preset, what 'omitting EE axes' means in practice, and that EE_standard costs 45 DAC while EE_basic costs 10 DAC. This helps an agent understand the decision-relevant implications of parameters without opening the pricing endpoint.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a concrete trigger ('an action crosses an external boundary: payment, delegation, or agreement') and a clear primary action ('Record a tamper-evident decision'). It also distinguishes itself from the sibling propose_bilateral by stating that this route is for self-declared decisions while counterparty declarations belong to the other endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states when to use this tool and when not to: use it for self-declared decisions, and use propose_bilateral when a counterparty is involved. It even gives timing guidance ('before you execute, or after a decision you have already made'), so an agent gets clear contextual boundaries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clear, distinct purposes, but a few overlap in function: get_decision_metadata_distribution and get_self_classification_distribution are both distribution getters, and observe_environment and observe_pattern could be confused. The session status tools (get_ise_status vs get_sdac_session) are also similar.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (create_, get_, list_, observe_, run_, end_, exit_, confirm_, etc.). There are no stylistic deviations or mixed conventions.

Tool Count2/5

With 30 tools, the surface is heavy. Several tools could be consolidated (e.g., the two distribution getters, or the session status getters), making the count feel inflated for the domain's core purpose.

Completeness3/5

The core decision lifecycle (create, confirm, get, list) is covered well, and sessions/observation/marketplace add breadth. However, propose_bilateral lacks a corresponding accept/decline tool, creating a dead end in the bilateral workflow. Also, no way to fetch detailed info on a specific marketplace tool.