{"components":{"securitySchemes":{"session":{"in":"cookie","name":"session","type":"apiKey"}}},"info":{"title":"PropertyProAI listing tool","version":"1.0.0"},"openapi":"3.1.0","paths":{"/v1/export":{"get":{"responses":{"200":{"description":"JSON export"},"401":{"description":"Sign in required"}},"security":[{"session":[]}]}},"/v1/listing-description":{"post":{"operationId":"propertypro_listing_description","parameters":[{"in":"header","name":"Idempotency-Key","required":true,"schema":{"maxLength":100,"minLength":8,"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"properties":{"facts":{"maxLength":4000,"minLength":10,"type":"string"},"property_type":{"enum":["house","condo","townhouse","duplex","apartment"],"type":"string"},"style":{"enum":["concise","warm","detailed","feature-led","plain"],"type":"string"}},"required":["facts"],"type":"object"}}},"required":true},"responses":{"200":{"description":"Description"},"400":{"description":"Invalid facts"},"409":{"description":"Idempotency conflict"},"413":{"description":"Request too large"},"429":{"description":"Daily quota"},"503":{"description":"Unavailable"}},"x-pricing":{"currency":"USD","free_quota":"3 per IP per UTC day","price":0,"unit":"description"}}}}}
