---
title: "How has this person decided this before?"
method: POST
path: "/v1/peers/{peer_id}/predict-approval"
tags: ["Memory"]
---

# How has this person decided this before?

`POST /v1/peers/{peer_id}/predict-approval`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/peers/{peer_id}/predict-approval`
- Auth: HTTP bearer

Answers two different questions, and keeps them apart on purpose.

`likelihood` is an **observation about a person** — how they have decided
comparable requests before. Comparable means the same fingerprint bucket,
not the same action type: three approvals of $5 say nothing about $500.

`suggest_auto` is a **statement about a policy**. It is true only where a
rule the operator already wrote would auto-approve this exact case. It is
never derived from `likelihood`, and a confident model never becomes new
authority. It is false, with `blocked_reason`, when:

* no rule covers the action (`no_matching_rule`);
* a rule says a human decides (`rule_requires_approval`);
* the amount is above the rule's own threshold (`above_configured_threshold`);
* the derived risk tier is above the lowest (`risk_tier_requires_step_up`);
* the action grants or destroys authority (`action_is_sensitive`).

The policy consulted is the calling agent's own, so a prediction cannot
inherit authority from another agent that happens to observe the same
person.

## Path parameters

- `peer_id` string, uuid, required

## Request body

- object
  - `action_type` string, required
  - `payload` object
  - `effective_risk_tier` integer, required

## Response `200`

Prediction

- object
  - `likelihood` number, nullable: Absent when there is no comparable history.
  - `reasoning` string, required
  - `suggest_auto` boolean, required: Whether the operator's own policy already permits this.
  - `blocked_reason` 'no_matching_rule' | 'rule_requires_approval' | 'above_configured_threshold' | 'risk_tier_requires_step_up' | 'action_is_sensitive'

## Other responses

- `403`: Insufficient permissions
- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
