openapi: 3.2.0 info: title: sipi.bot — Spend Firewall for AI Agents Approvals API description: 'sipi.bot sits in front of every transaction an autonomous AI agent attempts and evaluates it against your spend rules — per-transaction caps, daily totals, velocity (runaway-loop protection), merchant allow/block, category limits, time windows, and approval thresholds. It returns APPROVED, BLOCKED, or FLAGGED with a deterministic rules check, before a single dollar moves. Every decision is written to a queryable audit log. **The core call an agent makes before spending:** `POST /v1/transactions/evaluate`. Auth is optional only for the public evaluation sandbox. Pass `Authorization: Bearer ` for an isolated paid or operator-created workspace. Dashboard and control-plane routes require authentication.' version: 0.1.0 contact: name: sipi.bot url: https://sipi.bot email: sales@sipiteno.com license: name: MIT url: https://github.com/kindrat86/sipi-bot/blob/main/LICENSE termsOfService: https://sipi.bot/terms servers: - url: https://sipi.bot description: Production security: - BearerAuth: [] tags: - name: Approvals description: Human-in-the-loop approval queue for FLAGGED transactions paths: /api/approvals: get: tags: - Approvals summary: List pending approvals description: Returns FLAGGED transactions routed to the human-in-the-loop queue. operationId: listApprovals responses: '200': description: Pending approvals. content: application/json: schema: type: array items: $ref: '#/components/schemas/Approval' /api/approvals/{approval_id}: post: tags: - Approvals summary: Resolve a pending approval description: Approve or deny a FLAGGED transaction in the human queue. operationId: resolveApproval parameters: - name: approval_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object required: - decision properties: decision: type: string enum: - approve - deny example: approve responses: '200': description: Resolution result. content: application/json: schema: type: object properties: resolved: type: boolean components: schemas: Approval: type: object properties: id: type: string transaction_id: type: string status: type: string enum: - pending - approved - denied amount: type: number merchant: type: string reason: type: string created_at: type: string format: date-time securitySchemes: BearerAuth: type: http scheme: bearer description: A checkout-issued or operator-created API key. ADMIN_TOKEN is accepted only for operator control-plane access. externalDocs: description: Agent card (A2A discovery) url: https://sipi.bot/.well-known/agent-card.json