{"success":true,"data":[{"name":"analyze_property","description":"Calculate gross/net rental yield, income, operating costs and simple payback in OMR. Calculations only.","whenToUse":"Use when an agent needs financial metrics (yield, income, payback) for a single property.","useCases":["property investment analysis","rental yield check","single-property evaluation","buy vs. hold financial screening"],"price":0.01,"currency":"USD","paymentProtocol":"x402","network":"eip155:8453","idempotent":true,"sideEffects":false,"endpoint":"/api/v1/property/analyze","x402Endpoint":"/api/v1/x402/property/analyze","method":"POST","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"annualRent":{"type":"number","minimum":0,"maximum":1000000000000},"serviceCharge":{"type":"number","minimum":0,"maximum":1000000000000},"maintenanceCost":{"type":"number","minimum":0,"maximum":1000000000000},"maintenance":{"description":"Legacy alias for maintenanceCost; supply only one","type":"number","minimum":0,"maximum":1000000000000},"vacancyRatePct":{"type":"number","minimum":0,"maximum":100},"otherAnnualCosts":{"type":"number","minimum":0,"maximum":1000000000000}},"required":["propertyValue","annualRent"],"additionalProperties":false,"examples":[{"propertyValue":85000,"annualRent":7200,"serviceCharge":650,"maintenanceCost":400}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"propertyValue":{"type":"number"},"annualRent":{"type":"number"},"grossAnnualIncome":{"type":"number"},"grossYield":{"type":"number"},"netYield":{"type":"number"},"annualOperatingCost":{"type":"number"},"annualNetIncome":{"type":"number"},"effectiveAnnualRent":{"type":"number"},"paybackYears":{"type":["number","null"]},"grossYieldPct":{"type":"number"},"netYieldPct":{"type":"number"},"annualOperatingCosts":{"type":"number"},"currency":{"type":"string","const":"OMR"},"note":{"type":"string"}},"required":["propertyValue","annualRent","grossAnnualIncome","grossYield","netYield","annualOperatingCost","annualNetIncome","effectiveAnnualRent","paybackYears","grossYieldPct","netYieldPct","annualOperatingCosts","currency","note"],"additionalProperties":false}},{"name":"compare_properties","description":"Compare 2–20 uniquely named properties in OMR using the same metrics; order by rounded net yield, preserving input order for ties.","whenToUse":"Use when an agent must rank or choose between 2-20 candidate properties by net yield.","useCases":["property comparison","ranking multiple properties","portfolio shortlisting","choosing between investment options"],"price":0.03,"currency":"USD","paymentProtocol":"x402","network":"eip155:8453","idempotent":true,"sideEffects":false,"endpoint":"/api/v1/property/compare","x402Endpoint":"/api/v1/x402/property/compare","method":"POST","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"properties":{"minItems":2,"maxItems":20,"type":"array","items":{"type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"annualRent":{"type":"number","minimum":0,"maximum":1000000000000},"serviceCharge":{"type":"number","minimum":0,"maximum":1000000000000},"maintenanceCost":{"type":"number","minimum":0,"maximum":1000000000000},"maintenance":{"description":"Legacy alias for maintenanceCost; supply only one","type":"number","minimum":0,"maximum":1000000000000},"vacancyRatePct":{"type":"number","minimum":0,"maximum":100},"otherAnnualCosts":{"type":"number","minimum":0,"maximum":1000000000000},"name":{"type":"string","minLength":1,"maxLength":120}},"required":["propertyValue","annualRent","name"],"additionalProperties":false}}},"required":["properties"],"additionalProperties":false,"examples":[{"properties":[{"name":"A","propertyValue":85000,"annualRent":7200},{"name":"B","propertyValue":100000,"annualRent":7000}]}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"properties":{"type":"array","items":{"type":"object","properties":{"propertyValue":{"type":"number"},"annualRent":{"type":"number"},"grossAnnualIncome":{"type":"number"},"grossYield":{"type":"number"},"netYield":{"type":"number"},"annualOperatingCost":{"type":"number"},"annualNetIncome":{"type":"number"},"effectiveAnnualRent":{"type":"number"},"paybackYears":{"type":["number","null"]},"grossYieldPct":{"type":"number"},"netYieldPct":{"type":"number"},"annualOperatingCosts":{"type":"number"},"currency":{"type":"string","const":"OMR"},"note":{"type":"string"},"name":{"type":"string"}},"required":["propertyValue","annualRent","grossAnnualIncome","grossYield","netYield","annualOperatingCost","annualNetIncome","effectiveAnnualRent","paybackYears","grossYieldPct","netYieldPct","annualOperatingCosts","currency","note","name"],"additionalProperties":false}},"sortedByNetYield":{"type":"array","items":{"type":"string"}}},"required":["properties","sortedByNetYield"],"additionalProperties":false}},{"name":"estimate_maintenance","description":"Estimate an annual maintenance reserve in OMR from value, age and unit count with explicit optional assumptions. Uncalibrated heuristic, not a survey.","whenToUse":"Use when an agent needs an annual maintenance reserve estimate for a property, not an actual inspection.","useCases":["maintenance budgeting","annual reserve estimation","facility cost planning","pre-purchase cost forecasting"],"price":0.02,"currency":"USD","paymentProtocol":"x402","network":"eip155:8453","idempotent":true,"sideEffects":false,"endpoint":"/api/v1/maintenance/estimate","x402Endpoint":"/api/v1/x402/maintenance/estimate","method":"POST","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"propertyValue":{"type":"number","minimum":0.01,"maximum":1000000000000},"ageYears":{"type":"number","minimum":0,"maximum":200},"units":{"type":"integer","minimum":1,"maximum":10000},"annualRent":{"description":"Legacy input; unused in this value-based estimate","type":"number","minimum":0,"maximum":1000000000000},"assumptions":{"type":"object","properties":{"annualRatePct":{"type":"number","minimum":0,"maximum":100},"additionalUnitCost":{"type":"number","minimum":0,"maximum":1000000000000}},"additionalProperties":false}},"required":["propertyValue"],"additionalProperties":false,"examples":[{"propertyValue":100000,"ageYears":12,"units":1}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"estimatedAnnualMaintenance":{"type":"number"},"monthlyReserve":{"type":"number"},"maintenancePercentage":{"type":"number"},"currency":{"type":"string","const":"OMR"},"assumptionsUsed":{"type":"object","properties":{"ageYears":{"type":"number"},"units":{"type":"number"},"annualRatePct":{"type":"number"},"additionalUnitCost":{"type":"number"}},"required":["ageYears","units","annualRatePct","additionalUnitCost"],"additionalProperties":false},"methodology":{"type":"string"}},"required":["estimatedAnnualMaintenance","monthlyReserve","maintenancePercentage","currency","assumptionsUsed","methodology"],"additionalProperties":false}},{"name":"analyze_oman_property","description":"Analyze an Oman residential property using local rental comparables, market context and investment metrics.","whenToUse":"Use when an agent needs Oman-specific rental, yield, price-position or operating-cost analysis.","useCases":["Oman rental investment analysis","Muscat property market comparison","rental yield with local comparables","Oman price-per-sqm benchmarking"],"price":0.25,"currency":"USD","paymentProtocol":"x402","network":"eip155:8453","idempotent":true,"sideEffects":false,"endpoint":"/api/v1/oman/property/analyze","x402Endpoint":"/api/v1/x402/oman/property/analyze","method":"POST","inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"governorate":{"type":"string","minLength":1,"maxLength":60},"wilayat":{"type":"string","minLength":1,"maxLength":60},"area":{"type":"string","minLength":1,"maxLength":80},"propertyType":{"type":"string","enum":["apartment","villa","townhouse"]},"bedrooms":{"type":"integer","minimum":0,"maximum":20},"bathrooms":{"type":"integer","minimum":0,"maximum":20},"sizeSqm":{"type":"number","minimum":10,"maximum":5000},"askingPriceOMR":{"type":"number","minimum":1000,"maximum":1000000000},"furnished":{"type":"string","enum":["furnished","semi_furnished","unfurnished"]},"optionalAnnualServiceChargeOMR":{"type":"number","minimum":0,"maximum":1000000000},"optionalAnnualMaintenanceOMR":{"type":"number","minimum":0,"maximum":1000000000}},"required":["governorate","area","propertyType","sizeSqm","askingPriceOMR"],"additionalProperties":false,"examples":[{"governorate":"Muscat","area":"Al Mouj","propertyType":"apartment","bedrooms":2,"sizeSqm":130,"askingPriceOMR":118000}]},"outputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"normalizedLocation":{"type":"object","properties":{"governorate":{"type":"string"},"wilayat":{"type":"string"},"area":{"type":"string"},"inputArea":{"type":"string"},"matchType":{"type":"string","enum":["exact","alias","unmatched"]},"supported":{"type":"boolean"}},"required":["governorate","wilayat","area","inputArea","matchType","supported"],"additionalProperties":false},"subjectProperty":{"type":"object","properties":{"propertyType":{"type":"string","enum":["apartment","villa","townhouse"]},"bedrooms":{"type":["number","null"]},"bathrooms":{"type":["number","null"]},"sizeSqm":{"type":"number"},"askingPriceOMR":{"type":"number"},"furnished":{"type":"string","enum":["furnished","semi_furnished","unfurnished","unspecified"]}},"required":["propertyType","bedrooms","bathrooms","sizeSqm","askingPriceOMR","furnished"],"additionalProperties":false},"market":{"type":"object","properties":{"estimatedMonthlyRentOMR":{"anyOf":[{"type":"object","properties":{"low":{"type":"number"},"median":{"type":"number"},"high":{"type":"number"}},"required":["low","median","high"],"additionalProperties":false},{"type":"null"}]},"estimatedAnnualRentOMR":{"type":["number","null"]},"comparableCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sampleSizeUsed":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"dataFreshnessDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]}},"required":["estimatedMonthlyRentOMR","estimatedAnnualRentOMR","comparableCount","sampleSizeUsed","dataFreshnessDays"],"additionalProperties":false},"investment":{"type":"object","properties":{"grossYieldPct":{"type":["number","null"]},"estimatedOperatingCostOMR":{"type":"number"},"estimatedNetIncomeOMR":{"type":["number","null"]},"netYieldPct":{"type":["number","null"]}},"required":["grossYieldPct","estimatedOperatingCostOMR","estimatedNetIncomeOMR","netYieldPct"],"additionalProperties":false},"pricePosition":{"type":"object","properties":{"askingPricePerSqmOMR":{"type":"number"},"observedComparableRange":{"anyOf":[{"type":"object","properties":{"low":{"type":"number"},"median":{"type":"number"},"high":{"type":"number"}},"required":["low","median","high"],"additionalProperties":false},{"type":"null"}]},"marketPosition":{"type":"string","enum":["below_market","at_market","above_market","insufficient_data"]}},"required":["askingPricePerSqmOMR","observedComparableRange","marketPosition"],"additionalProperties":false},"comparablesSummary":{"anyOf":[{"type":"object","properties":{"medianRentPerSqm":{"type":"number"},"lowRentPerSqm":{"type":"number"},"highRentPerSqm":{"type":"number"}},"required":["medianRentPerSqm","lowRentPerSqm","highRentPerSqm"],"additionalProperties":false},{"type":"null"}]},"riskFlags":{"type":"array","items":{"type":"string"}},"confidence":{"type":"object","properties":{"score":{"type":"number","minimum":0,"maximum":1},"level":{"type":"string","enum":["insufficient","low","medium","high"]},"reasons":{"type":"array","items":{"type":"string"}}},"required":["score","level","reasons"],"additionalProperties":false},"provenance":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["official_statistics","listing_asking_price","manual_benchmark","partner_feed"]},"sourceName":{"type":"string"},"sourceDate":{"type":"string"},"recordCount":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991}},"required":["sourceType","sourceName","sourceDate","recordCount"],"additionalProperties":false}},"assumptions":{"type":"array","items":{"type":"string"}},"insufficientMarketData":{"type":"boolean"},"unavailableOutputs":{"type":"array","items":{"type":"string"}},"currency":{"type":"string","const":"OMR"},"dataQuality":{"type":"object","properties":{"latestDataDate":{"type":["string","null"]},"dataFreshnessDays":{"anyOf":[{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},{"type":"null"}]},"sampleSize":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991},"sourceTypes":{"type":"array","items":{"type":"string","enum":["official_statistics","listing_asking_price","manual_benchmark","partner_feed"]}},"staleMarketData":{"type":"boolean"}},"required":["latestDataDate","dataFreshnessDays","sampleSize","sourceTypes","staleMarketData"],"additionalProperties":false}},"required":["normalizedLocation","subjectProperty","market","investment","pricePosition","comparablesSummary","riskFlags","confidence","provenance","assumptions","insufficientMarketData","unavailableOutputs","currency","dataQuality"],"additionalProperties":false}}],"meta":{"requestId":"59c2e73d-8027-40a0-a1fd-583632e6639f"}}