{"openapi":"3.0.0","info":{"title":"Gadsden Valuations API","version":"1.0.0","description":"LightGBM-based property valuation API. RICS PS 1.3\/PS 1.6 compliant statistical valuation tool."},"servers":[{"url":"https:\/\/gadsdenvaluations.com\/api"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key (gak_...) as Bearer token"}}},"paths":{"\/v1\/valuations":{"post":{"summary":"Request a property valuation","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"property_id":{"type":"integer","description":"Internal property ID"},"uprn":{"type":"integer","description":"Unique Property Reference Number"},"postcode":{"type":"string","description":"UK postcode"},"address":{"type":"string","description":"Property address (used with postcode)"}}}}}},"responses":{"200":{"description":"Valuation result with confidence scoring, comparables, and feature contributions"},"402":{"description":"Insufficient valuations"},"404":{"description":"Property not found"},"422":{"description":"Valuation failed \u2014 insufficient data"}}}},"\/v1\/valuations\/batch":{"post":{"summary":"Batch valuation (up to 100 properties)","requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"property_id":{"type":"integer"},"uprn":{"type":"integer"},"postcode":{"type":"string"},"address":{"type":"string"}}}}}}}}},"responses":{"200":{"description":"Array of valuation results"}}}},"\/v1\/valuations\/{id}":{"get":{"summary":"Retrieve a completed valuation","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Valuation detail"},"404":{"description":"Valuation not found"}}}},"\/v1\/account":{"get":{"summary":"Account info and valuation balance","responses":{"200":{"description":"Account details"}}}},"\/v1\/keys":{"get":{"summary":"List API keys","responses":{"200":{"description":"List of API keys"}}},"post":{"summary":"Create new API key","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"name":{"type":"string"}}}}}},"responses":{"201":{"description":"New API key (shown once)"}}}},"\/v1\/keys\/{id}":{"delete":{"summary":"Revoke an API key","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Key revoked"}}}}}}