{
  "@context": {
    "@vocab": "https://finology.tech/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "finology": "https://finology.tech/schema#",
    "AgentPackResponse": "finology:AgentPackResponse",
    "apiKey": {
      "@id": "finology:apiKey",
      "@type": "xsd:string"
    },
    "keyPrefix": {
      "@id": "finology:keyPrefix",
      "@type": "xsd:string"
    },
    "tier": {
      "@id": "finology:tier",
      "@type": "xsd:string"
    },
    "calls": {
      "@id": "finology:calls",
      "@type": "xsd:integer"
    },
    "expiresAt": {
      "@id": "finology:expiresAt",
      "@type": "xsd:dateTime"
    },
    "headerName": {
      "@id": "finology:headerName",
      "@type": "xsd:string"
    },
    "apiBase": {
      "@id": "finology:apiBase",
      "@type": "xsd:string"
    },
    "mcpEndpoint": {
      "@id": "finology:mcpEndpoint",
      "@type": "xsd:string"
    },
    "paymentReference": {
      "@id": "finology:paymentReference",
      "@type": "xsd:string"
    },
    "notice": {
      "@id": "finology:notice",
      "@type": "xsd:string"
    },
    "terms": {
      "@id": "finology:terms",
      "@type": "xsd:string"
    },
    "ClaimKeyRequest": "finology:ClaimKeyRequest",
    "sandboxKey": {
      "@id": "finology:sandboxKey",
      "@type": "xsd:string"
    },
    "ClaimKeyResponse": "finology:ClaimKeyResponse",
    "monthlyCallLimit": {
      "@id": "finology:monthlyCallLimit",
      "@type": "xsd:integer"
    },
    "revokedKeyPrefix": {
      "@id": "finology:revokedKeyPrefix",
      "@type": "xsd:string"
    },
    "ComparisonArm": "finology:ComparisonArm",
    "scenario": {
      "@id": "finology:scenario",
      "@type": "@id"
    },
    "loans": {
      "@id": "finology:loans",
      "@container": "@list"
    },
    "ComparisonRequest": "finology:ComparisonRequest",
    "arms": {
      "@id": "finology:arms",
      "@container": "@list"
    },
    "includeYearly": {
      "@id": "finology:includeYearly",
      "@type": "xsd:boolean"
    },
    "EligibilityRequest": "finology:EligibilityRequest",
    "EligibilityResult": "finology:EligibilityResult",
    "provenance": {
      "@id": "finology:provenance",
      "@type": "@id"
    },
    "EngineProvenance": "finology:EngineProvenance",
    "computedBy": {
      "@id": "finology:computedBy",
      "@type": "xsd:string"
    },
    "engine": {
      "@id": "finology:engine",
      "@type": "xsd:string"
    },
    "parityVerified": {
      "@id": "finology:parityVerified",
      "@type": "xsd:boolean"
    },
    "computedAtUtc": {
      "@id": "finology:computedAtUtc",
      "@type": "xsd:dateTime"
    },
    "ruleVersion": {
      "@id": "finology:ruleVersion",
      "@type": "xsd:string"
    },
    "citations": {
      "@id": "finology:citations",
      "@container": "@list"
    },
    "knownOmissions": {
      "@id": "finology:knownOmissions",
      "@container": "@list"
    },
    "answerId": {
      "@id": "finology:answerId",
      "@type": "xsd:string"
    },
    "verifyUrl": {
      "@id": "finology:verifyUrl",
      "@type": "xsd:string"
    },
    "HttpValidationProblemDetails": "finology:HttpValidationProblemDetails",
    "type": {
      "@id": "finology:type",
      "@type": "xsd:string"
    },
    "title": {
      "@id": "finology:title",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "finology:status",
      "@type": "xsd:integer"
    },
    "detail": {
      "@id": "finology:detail",
      "@type": "xsd:string"
    },
    "instance": {
      "@id": "finology:instance",
      "@type": "xsd:string"
    },
    "errors": {
      "@id": "finology:errors"
    },
    "KeylessLoanRequest": "finology:KeylessLoanRequest",
    "balance": {
      "@id": "finology:balance",
      "@type": "xsd:decimal"
    },
    "ratePct": {
      "@id": "finology:ratePct",
      "@type": "xsd:decimal"
    },
    "borrowerAgi": {
      "@id": "finology:borrowerAgi",
      "@type": "xsd:decimal"
    },
    "filingStatus": {
      "@id": "finology:filingStatus",
      "@type": "xsd:string"
    },
    "spouseAgi": {
      "@id": "finology:spouseAgi",
      "@type": "xsd:decimal"
    },
    "spouseFederalLoanBalance": {
      "@id": "finology:spouseFederalLoanBalance",
      "@type": "xsd:decimal"
    },
    "dependents": {
      "@id": "finology:dependents",
      "@type": "xsd:integer"
    },
    "loanType": {
      "@id": "finology:loanType",
      "@type": "xsd:string"
    },
    "state": {
      "@id": "finology:state",
      "@type": "xsd:string"
    },
    "pursuingPslf": {
      "@id": "finology:pursuingPslf",
      "@type": "xsd:boolean"
    },
    "pslfCreditedMonths": {
      "@id": "finology:pslfCreditedMonths",
      "@type": "xsd:integer"
    },
    "priorIdrMonths": {
      "@id": "finology:priorIdrMonths",
      "@type": "xsd:integer"
    },
    "incomeGrowthPct": {
      "@id": "finology:incomeGrowthPct",
      "@type": "xsd:decimal"
    },
    "borrowedOnOrAfterJul12026": {
      "@id": "finology:borrowedOnOrAfterJul12026",
      "@type": "xsd:boolean"
    },
    "LoanCalcExcludedPlan": "finology:LoanCalcExcludedPlan",
    "plan": {
      "@id": "finology:plan",
      "@type": "xsd:string"
    },
    "label": {
      "@id": "finology:label",
      "@type": "xsd:string"
    },
    "reason": {
      "@id": "finology:reason",
      "@type": "xsd:string"
    },
    "LoanCalcPlan": "finology:LoanCalcPlan",
    "monthlyPayment": {
      "@id": "finology:monthlyPayment",
      "@type": "xsd:decimal"
    },
    "totalPaid": {
      "@id": "finology:totalPaid",
      "@type": "xsd:decimal"
    },
    "monthsToPayoff": {
      "@id": "finology:monthsToPayoff",
      "@type": "xsd:integer"
    },
    "forgivenBalance": {
      "@id": "finology:forgivenBalance",
      "@type": "xsd:decimal"
    },
    "forgivenessAtMonth": {
      "@id": "finology:forgivenessAtMonth",
      "@type": "xsd:integer"
    },
    "taxOnForgiveness": {
      "@id": "finology:taxOnForgiveness",
      "@type": "xsd:decimal"
    },
    "lifetimeCost": {
      "@id": "finology:lifetimeCost",
      "@type": "xsd:decimal"
    },
    "forgivenessType": {
      "@id": "finology:forgivenessType",
      "@type": "xsd:string"
    },
    "LoanCalcResult": "finology:LoanCalcResult",
    "asOf": {
      "@id": "finology:asOf",
      "@type": "xsd:string"
    },
    "lowestMonthlyPlan": {
      "@id": "finology:lowestMonthlyPlan",
      "@type": "xsd:string"
    },
    "lowestLifetimeCostPlan": {
      "@id": "finology:lowestLifetimeCostPlan",
      "@type": "xsd:string"
    },
    "plans": {
      "@id": "finology:plans",
      "@container": "@list"
    },
    "excludedPlans": {
      "@id": "finology:excludedPlans",
      "@container": "@list"
    },
    "assumptions": {
      "@id": "finology:assumptions",
      "@container": "@list"
    },
    "LoanEligibility": "finology:LoanEligibility",
    "eligiblePlanTypes": {
      "@id": "finology:eligiblePlanTypes",
      "@container": "@list"
    },
    "LoanRequest": "finology:LoanRequest",
    "principalBalance": {
      "@id": "finology:principalBalance",
      "@type": "xsd:decimal"
    },
    "interestBalance": {
      "@id": "finology:interestBalance",
      "@type": "xsd:decimal"
    },
    "interestRate": {
      "@id": "finology:interestRate",
      "@type": "xsd:decimal"
    },
    "disbursedAmount": {
      "@id": "finology:disbursedAmount",
      "@type": "xsd:decimal"
    },
    "idrMonthsInRepayment": {
      "@id": "finology:idrMonthsInRepayment",
      "@type": "xsd:integer"
    },
    "pslfCount": {
      "@id": "finology:pslfCount",
      "@type": "xsd:integer"
    },
    "MeResponse": "finology:MeResponse",
    "tenant": {
      "@id": "finology:tenant",
      "@type": "xsd:string"
    },
    "callsUsedThisPeriod": {
      "@id": "finology:callsUsedThisPeriod",
      "@type": "xsd:integer"
    },
    "callsRemaining": {
      "@id": "finology:callsRemaining",
      "@type": "xsd:integer"
    },
    "periodStart": {
      "@id": "finology:periodStart",
      "@type": "xsd:dateTime"
    },
    "periodResetsAt": {
      "@id": "finology:periodResetsAt",
      "@type": "xsd:dateTime"
    },
    "plansPage": {
      "@id": "finology:plansPage",
      "@type": "xsd:string"
    },
    "ProblemDetails": "finology:ProblemDetails",
    "ProjectionRequest": "finology:ProjectionRequest",
    "ProjectionResult": "finology:ProjectionResult",
    "planType": {
      "@id": "finology:planType",
      "@type": "xsd:string"
    },
    "year1MonthlyPayment": {
      "@id": "finology:year1MonthlyPayment",
      "@type": "xsd:decimal"
    },
    "payoffOrForgivenessDate": {
      "@id": "finology:payoffOrForgivenessDate",
      "@type": "xsd:dateTime"
    },
    "monthsToFinish": {
      "@id": "finology:monthsToFinish",
      "@type": "xsd:integer"
    },
    "totalOutOfPocket": {
      "@id": "finology:totalOutOfPocket",
      "@type": "xsd:decimal"
    },
    "amountForgiven": {
      "@id": "finology:amountForgiven",
      "@type": "xsd:decimal"
    },
    "forgivenessTaxesOwed": {
      "@id": "finology:forgivenessTaxesOwed",
      "@type": "xsd:decimal"
    },
    "forgivenessTypeCode": {
      "@id": "finology:forgivenessTypeCode",
      "@type": "xsd:integer"
    },
    "weightedAverageInterestRate": {
      "@id": "finology:weightedAverageInterestRate",
      "@type": "xsd:decimal"
    },
    "yearly": {
      "@id": "finology:yearly",
      "@container": "@list"
    },
    "RecordRow": "finology:RecordRow",
    "recordedAtUtc": {
      "@id": "finology:recordedAtUtc",
      "@type": "xsd:dateTime"
    },
    "source": {
      "@id": "finology:source",
      "@type": "xsd:string"
    },
    "endpoint": {
      "@id": "finology:endpoint",
      "@type": "xsd:string"
    },
    "eventType": {
      "@id": "finology:eventType",
      "@type": "xsd:string"
    },
    "inputsHash": {
      "@id": "finology:inputsHash",
      "@type": "xsd:string"
    },
    "RecordsPage": "finology:RecordsPage",
    "records": {
      "@id": "finology:records",
      "@container": "@list"
    },
    "nextCursor": {
      "@id": "finology:nextCursor",
      "@type": "xsd:integer"
    },
    "ReferenceAnswer": "finology:ReferenceAnswer",
    "id": {
      "@id": "finology:id",
      "@type": "xsd:string"
    },
    "description": {
      "@id": "finology:description",
      "@type": "xsd:string"
    },
    "oracleScenario": {
      "@id": "finology:oracleScenario",
      "@type": "xsd:string"
    },
    "request": {
      "@id": "finology:request",
      "@type": "@id"
    },
    "answer": {
      "@id": "finology:answer",
      "@type": "@id"
    },
    "ReferenceResponse": "finology:ReferenceResponse",
    "howToUse": {
      "@id": "finology:howToUse",
      "@type": "xsd:string"
    },
    "scenarios": {
      "@id": "finology:scenarios",
      "@container": "@list"
    },
    "RuleCitation": "finology:RuleCitation",
    "authority": {
      "@id": "finology:authority",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "finology:url",
      "@type": "xsd:string"
    },
    "effectiveDate": {
      "@id": "finology:effectiveDate",
      "@type": "xsd:string"
    },
    "lastVerified": {
      "@id": "finology:lastVerified",
      "@type": "xsd:string"
    },
    "RuleConstantEntry": "finology:RuleConstantEntry",
    "unit": {
      "@id": "finology:unit",
      "@type": "xsd:string"
    },
    "value": {
      "@id": "finology:value"
    },
    "definition": {
      "@id": "finology:definition",
      "@type": "xsd:string"
    },
    "parityLocked": {
      "@id": "finology:parityLocked",
      "@type": "xsd:boolean"
    },
    "RuleOmissionEntry": "finology:RuleOmissionEntry",
    "expiresDate": {
      "@id": "finology:expiresDate",
      "@type": "xsd:string"
    },
    "RuleOmissionNote": "finology:RuleOmissionNote",
    "RulesResponse": "finology:RulesResponse",
    "version": {
      "@id": "finology:version",
      "@type": "xsd:string"
    },
    "generatedAtUtc": {
      "@id": "finology:generatedAtUtc",
      "@type": "xsd:dateTime"
    },
    "constants": {
      "@id": "finology:constants",
      "@container": "@list"
    },
    "SandboxKeyRequest": "finology:SandboxKeyRequest",
    "email": {
      "@id": "finology:email",
      "@type": "xsd:string"
    },
    "SandboxKeyResponse": "finology:SandboxKeyResponse",
    "upgradeUrl": {
      "@id": "finology:upgradeUrl",
      "@type": "xsd:string"
    },
    "platformUrl": {
      "@id": "finology:platformUrl",
      "@type": "xsd:string"
    },
    "claimHow": {
      "@id": "finology:claimHow",
      "@type": "xsd:string"
    },
    "ScenarioComparisonResult": "finology:ScenarioComparisonResult",
    "projections": {
      "@id": "finology:projections",
      "@container": "@list"
    },
    "lowestCostLabel": {
      "@id": "finology:lowestCostLabel",
      "@type": "xsd:string"
    },
    "ScenarioRequest": "finology:ScenarioRequest",
    "adjustedGrossIncome": {
      "@id": "finology:adjustedGrossIncome",
      "@type": "xsd:decimal"
    },
    "spouseAdjustedGrossIncome": {
      "@id": "finology:spouseAdjustedGrossIncome",
      "@type": "xsd:decimal"
    },
    "workingTowardsPslf": {
      "@id": "finology:workingTowardsPslf",
      "@type": "xsd:boolean"
    },
    "annualIncomeGrowth": {
      "@id": "finology:annualIncomeGrowth",
      "@type": "xsd:decimal"
    },
    "SourceEntry": "finology:SourceEntry",
    "note": {
      "@id": "finology:note",
      "@type": "xsd:string"
    },
    "cadence": {
      "@id": "finology:cadence",
      "@type": "xsd:string"
    },
    "VerifiedAnswer": "finology:VerifiedAnswer",
    "recorded": {
      "@id": "finology:recorded",
      "@type": "xsd:boolean"
    },
    "YearlyPoint": "finology:YearlyPoint",
    "year": {
      "@id": "finology:year",
      "@type": "xsd:integer"
    },
    "date": {
      "@id": "finology:date",
      "@type": "xsd:dateTime"
    },
    "paymentsThisYear": {
      "@id": "finology:paymentsThisYear",
      "@type": "xsd:decimal"
    },
    "cumulativePaid": {
      "@id": "finology:cumulativePaid",
      "@type": "xsd:decimal"
    },
    "forgivenThisYear": {
      "@id": "finology:forgivenThisYear",
      "@type": "xsd:decimal"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "finology-tech API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects finology-tech's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-30) from openapi/finology-tech-openapi.json.",
  "dcterms:created": "2026-10-30",
  "dcterms:source": [
    "openapi/finology-tech-openapi.json"
  ]
}