{"openapi": "3.0.0", "info": {"title": "Browser rehearsal range for agents", "version": "1.0.0", "description": "TextForAgents LLC. Per-rehearsal API $1.50/rehearsal \u00b7 Operator $29/mo per operator \u00b7 Fleet $99/mo per operator. One rehearsal free, one time per operator."}, "components": {"securitySchemes": {"bearer": {"type": "http", "scheme": "bearer"}}}, "paths": {"/register": {"post": {"summary": "Self-serve account issuance (normalized identity; trial granted once per operator)", "requestBody": {"content": {"application/json": {"schema": {"type": "object", "properties": {"operator": {"type": "string"}}, "required": ["operator"]}}}}, "responses": {"201": {"description": "account_id + token (shown once)"}, "200": {"description": "existing account for this normalized identity"}}}}, "/mirrors": {"post": {"summary": "Capture a site mirror (fixture cooperating/external, or a public URL with operator attestation; SSRF-guarded, bounded, read-only)", "requestBody": {"content": {"application/json": {"schema": {"type": "object", "properties": {"site": {"type": "string"}, "shape": {"type": "string", "enum": ["cooperating", "external"]}, "source": {"type": "string", "enum": ["fixture", "url"]}, "url": {"type": "string"}, "attestation": {"type": "boolean"}}, "required": ["site"]}}}}}}, "/rehearse": {"post": {"summary": "Rehearse a workflow against the clone and score prohibited effects. $1.50/rehearsal x402 after the one-time free rehearsal; included on Operator/Fleet plans; js_heavy mirrors are refused, never charged.", "requestBody": {"content": {"application/json": {"schema": {"type": "object", "properties": {"mirror_id": {"type": "string"}, "agent": {"type": "string"}, "task_class": {"type": "string", "enum": ["place_order"]}, "variant": {"type": "string", "enum": ["competent", "sloppy"]}, "actions": {"type": "array"}}, "required": ["mirror_id", "agent"]}}}}}}, "/receipts/verify": {"post": {"summary": "Gate check: verify a promotion receipt (scope, signature, expiry, current structural drift)"}}, "/drift": {"post": {"summary": "Structural drift revalidation for a mirror (content drift advisory only)"}}, "/subscribe": {"post": {"summary": "Activate Operator $29/mo or Fleet $99/mo via x402"}}, "/mirrors/list": {"get": {"summary": "Your mirrors (per-operator isolated)"}}, "/account": {"get": {"summary": "Account, plan, trial usage"}}, "/mcp": {"post": {"summary": "MCP JSON-RPC surface: create_mirror, rehearse, verify_receipt, drift_check"}}, "/health": {"get": {"summary": "Health + monitoring snapshot"}}}}