{"openapi":"3.1.0","info":{"title":"Agent Reserve Authorization Sandbox","version":"0.1.0","description":"Stateless, non-custodial policy preflight for AI-agent spending requests. Advisory output only: no payment execution, custody, wallet access, or currency issuance."},"servers":[{"url":"https://agent-reserve-protocol.super-myna-7255.chatgpt.site"}],"paths":{"/api/authorize":{"get":{"operationId":"getAuthorizationSchema","summary":"Inspect the public sandbox contract","responses":{"200":{"description":"Sandbox schema and safety boundaries."}}},"post":{"operationId":"evaluateAgentSpendRequest","summary":"Evaluate a request against an owner-defined mandate","description":"Returns eligible, escalate, or block. An eligible result is advisory and never executes or legally authorizes a payment.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["mandateValid","vendorStatus","receiptStatus","amount","perRequestLimit","dailyRemaining"],"properties":{"mandateValid":{"type":"boolean","description":"Whether the owner-approved mandate is valid."},"vendorStatus":{"type":"string","enum":["trusted","unverified","blocked"]},"receiptStatus":{"type":"string","enum":["pass","missing","fail"]},"amount":{"type":"integer","minimum":1,"maximum":1000000000},"perRequestLimit":{"type":"integer","minimum":1,"maximum":1000000000},"dailyRemaining":{"type":"integer","minimum":0,"maximum":1000000000}}}}}},"responses":{"200":{"description":"Deterministic policy receipt.","content":{"application/json":{"schema":{"type":"object","required":["decision","code","requestFingerprint","effect","stored","paymentExecuted","fundsHeld","walletAccessed"],"properties":{"decision":{"type":"string","enum":["eligible","escalate","block"]},"code":{"type":"string"},"reason":{"type":"string"},"requestFingerprint":{"type":"string","pattern":"^[a-f0-9]{64}$"},"effect":{"type":"string","const":"advisory_preflight_only"},"stored":{"type":"boolean","const":false},"paymentExecuted":{"type":"boolean","const":false},"fundsHeld":{"type":"boolean","const":false},"walletAccessed":{"type":"boolean","const":false}}}}}},"400":{"description":"Invalid JSON."},"413":{"description":"Body exceeds 2 KB."},"415":{"description":"Content type is not application/json."},"422":{"description":"Request violates the strict six-field schema."}}}}}}