---
title: "Get one policy intent with its timeline and current (re-priced) value"
method: GET
path: "/v1/agent-wallets/{agentWalletId}/policy/intents/{intentId}"
tags: ["Wallet Policy"]
---

# Get one policy intent with its timeline and current (re-priced) value

`GET /v1/agent-wallets/{agentWalletId}/policy/intents/{intentId}`

## Request

- Base URL: `https://api.prod.keyban.io`
- URL: `https://api.prod.keyban.io/v1/agent-wallets/{agentWalletId}/policy/intents/{intentId}`
- Auth: one of:
  - API key in header `X-Api-Key`
  - `bearer` (a scheme the document does not define)

## Path parameters

- `agentWalletId` string, uuid, required
- `intentId` string, uuid, required

## Response `200`

- WalletPolicyIntentDto
  - `id` string, uuid, required: Entity UUID
  - `createdAt` string, date-time, required: Creation date (ISO 8601)
  - `updatedAt` string, date-time, required: Last update date (ISO 8601)
  - `hash` string, required: Canonical hash of the signing request the intent authorises. 0x-prefixed, 32-byte (64 hex chars). Unique per subject — the same hash is never re-signed (ADR-86 anti-replay).
  - `kind` string, required: Payment kind label emitted by the payment extractor (opaque to the engine).
  - `recipient` string, required: Case-normalised (lowercased) recipient: an on-chain address for relay payments, or the seller host for x402.
  - `resource` string, nullable: x402 resource the payment unlocks: seller host + path only (query string and fragment stripped, so no per-request secret is stored). Null for relay payments, which target an on-chain address rather than a URL.
  - `asset` string, required: Asset symbol/label the amount is denominated in.
  - `amountNative` string, required: Raw transfer amount as a decimal integer string, in the asset's smallest unit (wei for ETH, base units for USDC).
  - `amountRef` string, required: Reference-currency value at intent creation, as a decimal integer string in centi-units of the policy currency (e.g. 1180 = 11.80).
  - `approvedAmountRef` string, nullable: Reference value the human approved — the anchor a later re-validation tolerates volatility drift around (#4254). Null until the first decision.
  - `currentAmountRef` string, nullable: Reference value re-priced at read time (#4254), so a human deciding now judges the current worth, not the stale stored one. Present on reads that re-price; absent when not recomputed.
  - `state` 'pending_human_approval' | 'approved' | 'declined' | 'abandoned' | 'consumed' | 'expired' | 'failed', required: Lifecycle state: pending_human_approval → approved → consumed, or pending_human_approval → declined. Only consumed is terminal; declined is reversible.
  - `decidedAt` string, date-time, nullable: When a human approved or declined the intent (RFC 3339). Null while still pending.
  - `decidedBy` string, nullable: Account (email) of the human who approved or declined the intent, captured at decision time. Null for auto-approved intents (no human in the loop) or those still pending.
  - `consumedAt` string, date-time, nullable: When the signature consumed the intent at /sign (RFC 3339). Null until executed.
  - `expiresAt` string, date-time, nullable: x402 EIP-3009 validBefore as a wall-clock instant (RFC 3339). Null for relay payments (no time window).
  - `events` object[]: Append-only lifecycle timeline, oldest first (#4254): one entry per decision point so a reviewer can see how the value moved across the intent → approval → signature window.
    - `kind` 'created' | 'human_approved' | 'human_declined' | 'agent_abandoned' | 'revalidated' | 'revalidation_required' | 'consumed' | 'expired' | 'settlement_failed', required: Lifecycle checkpoint this entry records (created, human decision, revalidation, or consumption).
    - `amountRef` string, required: Reference-currency value priced at this checkpoint, as a decimal integer string in centi-units of the policy currency (same encoding as the intent amountRef).
    - `at` string, date-time, required: When the checkpoint happened (RFC 3339), taken from the event row creation time.

---

[API](https://skmtc.dev/keyban/apis/keyban-rest-apis.md) · [All operations](https://skmtc.dev/keyban/apis/keyban-rest-apis/llms.txt) · [OpenAPI document](https://skmtc.dev/keyban/apis/keyban-rest-apis/revisions/0bb79a1da961?raw)
