Intented docs

Get a signed verdict on a proposal

POST
/api/verdict

For a proposal the wallet's own agent made with propose. The API reads its action and args from the chain, never from the body, and judges it under the wallet's current rules. Judged once per proposal: a repeat gets the stored answer. The response is ready for execute(proposal_id, req_bytes, resp_bytes, signature).

Request Body

application/json
  1. body
wallet_id*string

The API's own wallet, or .intented.testnet where there is a factory.

proposal_id*integer

The id propose returned.

Range0 <= value
context*string

What the agent read that asked for this payment, verbatim. It goes to the model quoted, as data. May be empty.

Lengthlength <= 20000
quote_id?string

For a payment through 1Click, the id from POST /api/quote. A quote serves one proposal.

Match^q_[0-9a-f]{16}$

Response Body

The verdict, ALLOW or DENY, with the bytes the wallet checks

application/json
  1. response
id?string

The API's id for this proposal.

verdict?string
Value in"ALLOW""DENY"
reason?string
model?string
chat_id?string
signer?string

The Ethereum address that signed.

signature?string

65 bytes, hex.

req_bytes?string
Formatbyte
resp_bytes?string
Formatbyte
Example Request
curl -X POST 'https://hack.furqaannabi.com/api/verdict' \  -H 'Content-Type: application/json' \  -d '{  "wallet_id": "string",  "proposal_id": 0,  "context": "string"}'
Example Response
{  "id": "string",  "verdict": "ALLOW",  "reason": "string",  "model": "string",  "chat_id": "string",  "signer": "string",  "signature": "string",  "req_bytes": "string",  "resp_bytes": "string"}