{"openapi":"3.1.0","info":{"title":"Straatagbasen Agent API","description":"Autoritativt API for opslag i Danmarks register over stråtækte huse, visuel 360° SDFI skråfoto-inspektion, priskalkulation for tækkearbejde og autoriserede tækkemænd.","version":"1.0.0","contact":{"name":"Straatagbasen Support","url":"https://straatagbasen.dk","email":"kontakt@straatagbasen.dk"}},"servers":[{"url":"https://straatagbasen.dk","description":"Produktionsserver"}],"paths":{"/api/agent/properties":{"get":{"summary":"Søg stråtækte ejendomme","description":"Søg i registeret baseret på adresse, by, postnummer, region eller tagareal.","operationId":"searchProperties","parameters":[{"name":"q","in":"query","description":"Fritekstsøgning (adresse, bynavn eller vejnavn)","schema":{"type":"string"}},{"name":"postalCode","in":"query","description":"4-cifret dansk postnummer (f.eks. 3220, 6720)","schema":{"type":"string"}},{"name":"city","in":"query","description":"Bynavn (f.eks. Tisvildeleje, Sønderho, Kerteminde)","schema":{"type":"string"}},{"name":"region","in":"query","description":"Dansk region (Hovedstaden, Sjælland, Syddanmark, Midtjylland, Nordjylland)","schema":{"type":"string"}},{"name":"minArea","in":"query","description":"Minimum tagflade i m²","schema":{"type":"number"}},{"name":"maxArea","in":"query","description":"Maksimum tagflade i m²","schema":{"type":"number"}},{"name":"limit","in":"query","description":"Maksimalt antal resultater (standard: 10, maks: 50)","schema":{"type":"integer","default":10}},{"name":"format","in":"query","description":"Returnér \"json\" eller \"markdown\"","schema":{"type":"string","enum":["json","markdown"],"default":"json"}}],"responses":{"200":{"description":"Liste af matchende ejendomme","content":{"application/json":{"schema":{"type":"object","properties":{"count":{"type":"integer"},"properties":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"address":{"type":"string"},"city":{"type":"string"},"postalCode":{"type":"string"},"region":{"type":"string"},"slug":{"type":"string"},"url":{"type":"string"},"roofAreaM2":{"type":"number"},"moenningType":{"type":"string"},"hasSepatec":{"type":"boolean"},"builtYear":{"type":"integer"}}}}}}},"text/markdown":{"schema":{"type":"string"}}}}}}},"/api/agent/properties/{id}":{"get":{"summary":"Hent komplet ejendomsdossier","description":"Henter udtømmende BBR-opmålinger, 360° SDFI skråfotos (nord, syd, øst, vest), tilstandsvurdering og vedligeholdelsesprognose for et specifikt hus.","operationId":"getPropertyDetail","parameters":[{"name":"id","in":"path","required":true,"description":"Ejendoms-ID (f.eks. \"prop-1\") eller SEO-slug (f.eks. \"prop-1-tisvilde-bygade-12-3220-tisvildeleje\")","schema":{"type":"string"}},{"name":"format","in":"query","description":"Format (json eller markdown til direkte LLM kontekst)","schema":{"type":"string","enum":["json","markdown"],"default":"json"}}],"responses":{"200":{"description":"Ejendomsdossier fundet","content":{"application/json":{"schema":{"type":"object"}},"text/markdown":{"schema":{"type":"string"}}}},"404":{"description":"Ejendom ikke fundet"}}}},"/api/agent/estimate":{"post":{"summary":"Beregn prisoverslag på stråtag","description":"Beregner vejledende budget for nyt stråtag, omlægning, Sepatec brandsikring og rygning baseret på 2025/2026 normer.","operationId":"calculateEstimate","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["roofAreaM2","taskType"],"properties":{"taskType":{"type":"string","enum":["nyt_tag","omlaegning_flade","ny_moenning","reparation","brandsikring_sepatec","alge_mos"],"description":"Type af tækkeropgave"},"roofAreaM2":{"type":"number","description":"Tagfladeareal i m²"},"roofPitchGrader":{"type":"number","default":48,"description":"Tagets hældning i grader"},"moenningType":{"type":"string","enum":["lyng","halm","kobber","toerv","trae"],"default":"lyng"},"reedType":{"type":"string","enum":["danske_fjordroer","europaeiske_kvalitetsroer","standard"],"default":"danske_fjordroer"},"includeSepatec":{"type":"boolean","default":true},"includeOldRoofRemoval":{"type":"boolean","default":true},"dormersCount":{"type":"integer","default":0}}}}}},"responses":{"200":{"description":"Kalkulation gennemført","content":{"application/json":{"schema":{"type":"object","properties":{"totalExclVat":{"type":"number"},"totalInclVat":{"type":"number"},"pricePerM2":{"type":"number"},"estimatedDays":{"type":"number"},"insuranceAnnualSavings":{"type":"number"},"details":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"amount":{"type":"number"},"description":{"type":"string"}}}}}}}}}}}},"/api/agent/contractors":{"get":{"summary":"Find autoriserede tækkemænd","description":"Lister godkendte tækkemænd med garantiordning fra Tækkemandslauget.","operationId":"listContractors","parameters":[{"name":"region","in":"query","description":"Filtrér på region (f.eks. Hovedstaden, Syddanmark, Midtjylland)","schema":{"type":"string"}}],"responses":{"200":{"description":"Liste over tækkemænd"}}}},"/api/mcp":{"post":{"summary":"WebMCP Model Context Protocol Endpoint","description":"Fuld JSON-RPC 2.0 WebMCP server der understøtter initialize, tools/list, tools/call, resources/list, resources/read, prompts/list.","operationId":"mcpJsonRpc","responses":{"200":{"description":"JSON-RPC svar"}}}}}}