/v1/record-decision 2 tokens base record-decision
Record a ruling or commitment into the caller's own mind.
Base price 2 tokens (tariff v0) — the same write class as `remember`, and no model call. This is the write side of the decision loop: it stores the `decision` atoms that `answer-from-my-decisions` reads, which is what makes that action reachable end to end for a caller who has never used any other surface.
AI processing disclosure
Content you submit through this action is processed using AI models to generate responses.
Request contract
RecordDecisionRequest
Content type: application/json. A body is required.
content string The ruling or commitment itself. Cap is enforced pre-admission; cap+1 is a 400 `input_cap_exceeded` and costs nothing.
title string The match surface. `answer-from-my-decisions` matches on title + synthesis, so a vague title is the difference between a decision that is found again and one that is not. Defaults to "Recorded decision".
kind string Stored as a `kind:<value>` tag. An unrecognized value is a 400 `unknown_decision_kind`, refused before admission, and costs nothing.
one of: ruling, commitment
tags array A literal `R1` or `R3` tag steers the precedent rung this decision is later reported at; otherwise the rung follows confidence. The caller is steering their OWN mind's precedent confidence — there is no cross-tenant surface.
Boundary inputs
Headers and query
Idempotency-Key header · optional Caller-chosen key, unique per logical action. Replaying it with the same body returns the original response and does NOT debit a second time.
tenant_id query · optional An attempted target tenant. The platform always derives ownership from the authenticated identity; a trial request naming another tenant is refused before work.
Response contract
200 ActionResponse The action was admitted and reached a verdict. `outcome` says which verdict: `answer` (charged) or `refusal` (not charged). Never a 5xx, never silent.
400 Error Pre-admission refusal — the request was never admissible, so nothing ran and nothing was charged. Includes `input_cap_exceeded`, which is decided BEFORE any model spend (brief W2.3).
401 Error Missing, malformed, rotated, revoked or expired key. Never charged.
402 Error The wallet cannot cover this action's price. Nothing ran, nothing was charged, and the balance is NEVER driven negative (brief W2.7).
403 Error Trial policy refusal. The request was not admitted, no engine work ran, and no credits were charged. Trial ownership is read from the authenticated identity, never from the attempted tenant query value.
409 Error The same `Idempotency-Key` was reused with a different request body.
429 Error Per-key or per-tenant limit tripped, or an abuse threshold was crossed. Nothing ran and nothing was charged; `Retry-After` is set where a retry is meaningful.
503 Error We broke, or an upstream we depend on did. Nothing is charged for a 5xx — the caller never pays for our outage.
No published example
No real API action cassette or fixture entry was available for this action in the reviewed platform/assay corpus. The response shape above is contract-derived; no response payload has been invented.