Evaluate

Evaluate a proposed agent spend

The core call. An autonomous agent calls this before it spends money. sipi.bot evaluates the transaction against every active rule and returns APPROVED, BLOCKED, or FLAGGED without a model call.

Auth is optional in free / self-host mode; pass a Bearer agent API key to attribute the transaction to a registered agent and scope per-agent rules.

post/v1/transactions/evaluate

Request

  • Base URL: https://sipi.bot
  • URL: https://sipi.bot/v1/transactions/evaluate
  • Auth: one of:
    • none
    • HTTP bearer

Request body

amountnumber float required

Transaction amount in the given currency.

merchantstring

Merchant name or domain the agent wants to pay.

categorystring

Spend category, e.g. compute / api / ads / travel.

currencystring

ISO 4217 currency code.

descriptionstring

Optional free-text description of the proposed spend.

timestampstring date-time

Optional ISO-8601 timestamp; defaults to now (UTC).

Example request

{
  "amount": 6200,
  "merchant": "unknown-gpu.ru",
  "category": "compute",
  "currency": "USD",
  "description": "A100 GPU rental",
  "timestamp": "2026-07-18T02:14:00Z"
}

Response

Decision returned.

decision'APPROVED' | 'BLOCKED' | 'FLAGGED'

APPROVED = pass all rules. BLOCKED = violates a hard rule, no money moves. FLAGGED = allowed but crosses an approval threshold, routed to the human queue.

reasonstring

Human-readable explanation; the rule label if a rule tripped.

rule_idstring nullable

ID of the rule that decided the outcome, if any.

transaction_idstring nullable

Audit-log ID for the recorded transaction.

amountnumber
merchantstring
categorystring

Example response

{
  "reason": "Merchant not on allowlist"
}

Changes

No recorded changes to this operation across all 1 revision of this API.