{"openapi": "3.1.0", "info": {"title": "AiListPro agent API", "version": "1.0", "description": "Lets an AI assistant look up plans and get a secure Stripe checkout link for its user. Payment happens on Stripe's page; login is emailed to the buyer."}, "servers": [{"url": "https://ailistpro.app"}], "paths": {"/api/agent/catalog": {"get": {"operationId": "getCatalog", "summary": "Public products, plans and prices", "responses": {"200": {"description": "Catalog JSON"}}}}, "/api/agent/checkout": {"post": {"operationId": "createCheckout", "summary": "Create a Stripe checkout link for the buyer", "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["product", "plan", "email"], "properties": {"product": {"type": "string", "examples": ["ailistpro"]}, "plan": {"type": "string", "enum": ["starter", "pro", "power", "pack10", "pack25", "pack100"]}, "email": {"type": "string", "format": "email", "description": "The buyer's email; their login is sent here"}, "agent": {"type": "string", "description": "Optional: the assistant's name, for our records"}}}}}}, "responses": {"200": {"description": "{ok, order_id, checkout_url, status_url, expires_at, price, next_steps}"}, "400": {"description": "Bad product, plan or email"}, "409": {"description": "Already subscribed: sign in instead"}, "429": {"description": "Rate limited"}}}}, "/api/agent/order": {"get": {"operationId": "getOrder", "summary": "Payment status and where to sign in", "parameters": [{"name": "id", "in": "query", "required": true, "schema": {"type": "string"}}], "responses": {"200": {"description": "{status: open|paid|expired, login_url, next_steps}"}}}}}}