Clara Mortgage Assistant
Deterministic Canadian mortgage calculations for qualification, debt service, LTV, and penalties.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen refuse_unsupported_mortgage_request
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"clara-mortgage-assistant": {
"url": "https://mcp.claratech.ai/mcp"
}
}
}Puntos de conexión remotos
https://mcp.claratech.ai/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (6)
🟢refuse_unsupported_mortgage_request(requestType)
MUST be called whenever the user asks whether a borrower should be approved, denied, pre-approved, conditionally approved, underwritten, or assessed for suitability. Also call it for lender or product recommendations, borrower documents or accounts, current rates or rules, submissions, outreach, or anything outside Clara Mortgage Assistant calculations. This tool returns the required deterministic refusal. Send only the matching requestType category—never include the original prompt, names, identifiers, document content, or other user data. Do not answer these requests directly.
Esquema de entrada
{
"type": "object",
"properties": {
"requestType": {
"type": "string",
"enum": [
"approval_or_underwriting",
"lender_or_product_recommendation",
"borrower_document_or_account",
"current_rate_rule_or_threshold",
"external_action",
"other_unsupported"
],
"description": "Category of unsupported request. Do not include or infer any user, borrower, account, or document data."
}
},
"required": [
"requestType"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "refuse_unsupported_mortgage_request"
},
"status": {
"type": "string",
"const": "unsupported"
},
"requestType": {
"type": "string",
"enum": [
"approval_or_underwriting",
"lender_or_product_recommendation",
"borrower_document_or_account",
"current_rate_rule_or_threshold",
"external_action",
"other_unsupported"
]
},
"message": {
"type": "string"
},
"safeAlternative": {
"type": "string"
},
"dataHandling": {
"type": "string",
"const": "No user prompt, document, account, or borrower data was accepted or processed."
}
},
"required": [
"tool",
"status",
"requestType",
"message",
"safeAlternative",
"dataHandling"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢compare_mortgage_scenarios(effectiveDate, jurisdiction, scenarios)
Compare up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
Esquema de entrada
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"scenarios": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Mortgage principal in Canadian dollars."
},
"annualRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Contract rate for this mortgage scenario. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"amortizationMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage amortization period in months."
},
"paymentFrequency": {
"type": "string",
"enum": [
"monthly",
"semi_monthly",
"biweekly",
"weekly",
"accelerated_biweekly",
"accelerated_weekly"
]
},
"termMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage term in months."
},
"propertyTaxPerPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Optional property-tax amount in Canadian dollars for each payment period."
},
"comparisonPrincipalAndInterestPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Optional principal-and-interest payment in Canadian dollars for the same payment period, used only as a comparison value."
}
},
"required": [
"name",
"principal",
"annualRate",
"amortizationMonths",
"paymentFrequency"
],
"additionalProperties": false
},
"minItems": 1,
"maxItems": 6
}
},
"required": [
"effectiveDate",
"scenarios"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "compare_mortgage_scenarios"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"scenarios": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
}
},
"required": [
"name",
"calculation"
],
"additionalProperties": false
}
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"scenarios",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_qualification(effectiveDate, jurisdiction, principal, contractRate, amortizationMonths, ...)
Calculate the B-20 qualifying rate, qualifying payment, and resulting GDS/TDS from a supplied principal, contract rate, amortization, and income. Use this tool only when the qualifying payment must be calculated from those inputs. If the user already supplies a monthly mortgage payment and asks for GDS/TDS, MUST use calculate_debt_service instead and must not request principal, rate, or amortization. This is neutral scenario math, not an approval or underwriting decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
Esquema de entrada
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Mortgage principal in Canadian dollars."
},
"contractRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Contract rate for the mortgage. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"amortizationMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Mortgage amortization period in months."
},
"grossAnnualIncome": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Gross annual household income in Canadian dollars."
},
"housing": {
"type": "object",
"properties": {
"monthlyPropertyTax": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly property-tax amount in Canadian dollars."
},
"monthlyHeat": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly heating cost in Canadian dollars."
},
"monthlyCondoFees": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly condominium fees in Canadian dollars."
}
},
"additionalProperties": false
},
"otherMonthlyDebts": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Total monthly debt obligations outside the housing costs in Canadian dollars."
},
"floorRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Optional minimum qualification rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"bufferRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Optional stress-test buffer added to the contract rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"tolerances": {
"type": "object",
"properties": {
"gdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum GDS ratio as a decimal; for example, 39% is 0.39."
},
"tdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum TDS ratio as a decimal; for example, 44% is 0.44."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"gdsMax",
"tdsMax"
],
"additionalProperties": false
},
"straightSwitchExempt": {
"type": "boolean"
}
},
"required": [
"effectiveDate",
"principal",
"contractRate",
"amortizationMonths",
"grossAnnualIncome"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_qualification"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_debt_service(effectiveDate, jurisdiction, grossAnnualIncome, monthlyPayment, housing, ...)
MUST use this tool when the user supplies a monthly mortgage payment and asks for Canadian GDS or TDS. Calculate the ratios directly from that payment, income, and monthly obligations. Do not request principal, contract rate, or amortization, and do not use calculate_qualification when the monthly payment is already supplied. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
Esquema de entrada
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"grossAnnualIncome": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Gross annual household income in Canadian dollars."
},
"monthlyPayment": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Monthly mortgage principal-and-interest payment in Canadian dollars."
},
"housing": {
"type": "object",
"properties": {
"monthlyPropertyTax": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly property-tax amount in Canadian dollars."
},
"monthlyHeat": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly heating cost in Canadian dollars."
},
"monthlyCondoFees": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Monthly condominium fees in Canadian dollars."
}
},
"additionalProperties": false
},
"otherMonthlyDebts": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Total other monthly debt obligations in Canadian dollars."
},
"tolerances": {
"type": "object",
"properties": {
"gdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum GDS ratio as a decimal; for example, 39% is 0.39."
},
"tdsMax": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 1,
"description": "Maximum TDS ratio as a decimal; for example, 44% is 0.44."
},
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"required": [
"gdsMax",
"tdsMax"
],
"additionalProperties": false
}
},
"required": [
"effectiveDate",
"grossAnnualIncome",
"monthlyPayment"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_debt_service"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢calculate_ltv(effectiveDate, jurisdiction, loanAmount, otherSecuredPositions, purchasePrice, ...)
Calculate Canadian loan-to-value and combined loan-to-value using purchase price, appraisal, and secured positions. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
Esquema de entrada
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"loanAmount": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "New mortgage or loan amount in Canadian dollars."
},
"otherSecuredPositions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"amount": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"description": "Balance of this other secured position in Canadian dollars."
}
},
"required": [
"amount"
],
"additionalProperties": false
},
"maxItems": 20
},
"purchasePrice": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Property purchase price in Canadian dollars."
},
"appraisedValue": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Property appraised value in Canadian dollars."
},
"valueBasis": {
"type": "string",
"enum": [
"lesser_of",
"appraised",
"purchase"
]
},
"storedLtv": {
"type": "number",
"minimum": 0,
"maximum": 5,
"description": "Optional previously stored LTV ratio as a decimal; for example, 75% is 0.75."
}
},
"required": [
"effectiveDate",
"loanAmount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "calculate_ltv"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_prepayment_penalty(effectiveDate, jurisdiction, principal, annualRate, remainingTermMonths, ...)
Estimate three-months-interest and simple IRD prepayment penalties; lender discharge statements remain authoritative. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
Esquema de entrada
{
"type": "object",
"properties": {
"effectiveDate": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "Date the supplied rates and policy assumptions were confirmed."
},
"jurisdiction": {
"type": "string",
"const": "CA",
"default": "CA",
"description": "Canadian calculations only."
},
"principal": {
"type": "number",
"minimum": 0,
"maximum": 100000000,
"exclusiveMinimum": 0,
"description": "Outstanding mortgage balance in Canadian dollars."
},
"annualRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Current annual mortgage rate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"remainingTermMonths": {
"type": "integer",
"minimum": 1,
"maximum": 600,
"description": "Number of months remaining in the mortgage term."
},
"comparisonRate": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Annual comparison or reference rate used for the simplified interest-rate-differential estimate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525."
},
"method": {
"type": "string",
"enum": [
"greater_of_3mo_interest_ird",
"three_months_interest",
"interest_rate_differential"
]
}
},
"required": [
"effectiveDate",
"principal",
"annualRate",
"remainingTermMonths"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Esquema de salida
{
"type": "object",
"properties": {
"tool": {
"type": "string",
"const": "estimate_prepayment_penalty"
},
"jurisdiction": {
"type": "string",
"const": "CA"
},
"currency": {
"type": "string",
"const": "CAD"
},
"effectiveDate": {
"type": "string"
},
"calculationVersion": {
"type": "string"
},
"calculation": {
"type": "object",
"properties": {
"calcId": {
"type": "string"
},
"calcVersion": {
"type": "string"
},
"inputsEcho": {
"type": "object",
"properties": {
"values": {
"type": "object",
"additionalProperties": {}
},
"provenance": {
"type": "object",
"additionalProperties": {
"type": "string",
"enum": [
"user",
"dealProfile",
"default"
]
}
}
},
"required": [
"values",
"provenance"
],
"additionalProperties": false
},
"result": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"explanation": {
"type": "array",
"items": {
"type": "string"
}
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"info",
"low",
"medium",
"high",
"blocker"
]
},
"category": {
"type": "string",
"enum": [
"intake",
"documents",
"math",
"suitability",
"compliance",
"fraud_title_aml",
"routing",
"human_review"
]
},
"description": {
"type": "string"
},
"nextAction": {
"type": "string"
},
"hardFail": {
"type": "boolean"
},
"source": {
"type": [
"string",
"null"
]
}
},
"required": [
"code",
"label",
"severity",
"category",
"description",
"nextAction"
],
"additionalProperties": false
}
}
},
"required": [
"calcId",
"calcVersion",
"inputsEcho",
"result",
"explanation",
"issues"
],
"additionalProperties": false
},
"disclaimer": {
"type": "string"
}
},
"required": [
"tool",
"jurisdiction",
"currency",
"effectiveDate",
"calculationVersion",
"calculation",
"disclaimer"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}Comunidad
Evidencia