Properties
Enrich a property with owner contact info
Looks up owner contact information via skip-trace. Uses the canonical address first; falls back to an associated loan or sale record address if the canonical is missing. The response also carries property — the parcel's Community Lending neighborhood profile and its mortgage party rosters, the same blocks GET /v1/properties/{id} returns — so the two questions that follow a skip-trace do not need a second call. property is null when the id resolves to more than one parcel and the request was served from cache (a fresh lookup 409s instead, rather than bill for a guess).
Authorization
Path parameters
idstringrequiredProperty document ID. Use the id or mmPropertyId returned by a property search/detail, or the mmPropertyId on a loan/sale record (e.g. mm_37035375304734463). Do NOT pass a bare APN, a fips+apn string, or a loan_… id — those will not resolve.
Query parameters
refreshenumWhen 'true', bypass both the per-member entitlement and the internal property cache, force a fresh skip-trace, and re-charge the user. Default: 'false'.
truefalseResponses
200objectEnrichment data (cached or fresh)Show attributesHide attributes
cachedbooleanrequiredWhether the result was served from cache
chargedbooleanrequiredTrue when this call resulted in a credit debit. False on cache hits AND on fresh_skip_trace_empty (no-match calls don't charge).
dataobjectrequiredShow child attributesHide child attributes
enrichedAtstringrequiredISO 8601 timestamp
personsobject[]requiredShow child attributesHide child attributes
deathobject | nulldncobject | nullemailsobject[] | nulllitigatorboolean | nullmailingAddressobject | nullmetaobject | nullnameobject | nullphoneNumbersobject[] | nullpropertyAddressobject | nullsourcestringrequiredData source identifier
propertyobject | nullThe parcel behind the enrichment: its Community Lending neighborhood profile and the mortgage parties attributed to it. Identical to the communityLending and parties blocks on GET /v1/properties/{id} — returned here so a skip-trace does not need a second call to answer 'what kind of neighborhood is this' and 'who already has a relationship with this parcel'.
Show child attributesHide child attributes
communityLendingobject | nullrequiredCommunity Lending — the profile of the neighborhood (U.S. Census tract) this parcel sits in: program designations, income and affordability, the population profile, the local mortgage market, remoteness and proximity. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100. Two fields are deliberately NOT 0-100: tractIncomeVsMetroPct is a ratio where 100 means parity with the metro (it exceeds 100), and tractRuralGradient is an ordinal 1-10 code. null — not an all-null object — for the roughly 6% of parcels that resolve to no neighborhood. Every field here is also a filter key on POST /properties.
Show child attributesHide child attributes
affordableHousingTractboolean | nullrequiredA qualified neighborhood for affordable-housing programs. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
difficultDevelopmentAreaboolean | nullrequiredA HUD-designated difficult development area. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
distressedTractboolean | nullrequiredA distressed-or-underserved nonmetropolitan middle-income neighborhood. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
floodHazardTractboolean | nullrequiredIn a FEMA special flood hazard area. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
lowModIncomeTractboolean | nullrequiredA low- or moderate-income neighborhood under the Community Reinvestment Act. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
majorityMinorityTractboolean | nullrequiredA majority-minority neighborhood. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
milesToCollegenumber | nullrequiredDistance to the nearest college, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
milesToSchoolnumber | nullrequiredDistance to the nearest school, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
milesToWorshipnumber | nullrequiredDistance to the nearest place of worship, in miles. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
opportunityZoneboolean | nullrequiredIn a federally designated Opportunity Zone. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
ruralTractboolean | nullrequiredA rural neighborhood. Thinner coverage than the other designations, so null is common. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractApplicationsnumber | nullrequiredMortgage applications reported over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractAsianPctnumber | nullrequiredAsian (non-Hispanic) share of the population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractBlackPctnumber | nullrequiredBlack (non-Hispanic) share of the population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractCountyCodestring | nullrequiredPublic three-digit county-within-state code (not the five-digit fips). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractDenialRatenumber | nullrequiredShare of mortgage applications that were denied. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractFamilyIncomenumber | nullrequiredMedian family income, in whole dollars. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractFloodZonestring | nullrequiredFEMA flood-zone code (e.g. AE). Null means no special flood hazard area on file. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractHispanicPctnumber | nullrequiredHispanic or Latino share of the population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractHomeownershipRatenumber | nullrequiredOwner-occupied share of housing units. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractHouseholdIncomenumber | nullrequiredMedian household income, in whole dollars. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractIdstring | nullrequiredPublic six-digit neighborhood code. It repeats in every state and county, so it identifies a neighborhood only together with tractStateCode and tractCountyCode. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractIncomeLevelenum | nullrequiredRelative-income classification of the neighborhood: low, moderate, middle or upper. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
lowmoderatemiddleuppernulltractIncomeVsMetroPctnumber | nullrequiredNeighborhood income relative to its metro area, where 100 is parity. Legitimately exceeds 100 — this is a ratio, not a share. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractLoanVolumenumber | nullrequiredMortgage dollar volume reported over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractMedianAgenumber | nullrequiredMedian age, in years. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractMedianHomeValuenumber | nullrequiredMedian home value across the neighborhood, in whole dollars — a neighborhood statistic, not this parcel's value estimate (see avm). Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractMinorityPctnumber | nullrequiredNon-white share of the population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractOriginationsnumber | nullrequiredMortgage originations reported over the year. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractPopulationnumber | nullrequiredTotal population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractPovertyRatenumber | nullrequiredShare of the population below the poverty line. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractRuralGradientnumber | nullrequiredRemoteness on an ordinal 1-10 scale (1 = metropolitan core, 10 = most remote). A code, not a percent. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractStateCodestring | nullrequiredPublic two-digit state code. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
tractWhiteNonHispanicPctnumber | nullrequiredWhite (non-Hispanic) share of the population. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
usdaEligibleTractboolean | nullrequiredEligible for USDA rural housing programs. Values describe the U.S. Census tract (neighborhood) as a whole — tract-level aggregate statistics, never an individual, household or applicant attribute. Percentages are 0-100.
partiesobjectrequiredMortgage parties attributed to the parcel, split by scope: alltime (everyone on record, a strict superset of the rest), active (parties on loans still outstanding), matched (the subset whose loan resolved to a known NMLS entity) and last (the most recent loan). Real estate agents are not part of this block — reach parcels from an agent through POST /v1/agents/{id}/properties.
Show child attributesHide child attributes
activeobjectrequiredNMLS ids of the mortgage parties attributed to the parcel under one scope. Each id resolves through the originator, lender and company detail endpoints.
alltimeobjectrequiredNMLS ids of the mortgage parties attributed to the parcel under one scope. Each id resolves through the originator, lender and company detail endpoints.
lastobjectrequiredThe most recent loan's originator(s). Deliberately originator-only — see the parent description.
matchedobjectrequiredNMLS ids of the mortgage parties attributed to the parcel under one scope. Each id resolves through the originator, lender and company detail endpoints.
reasonenumrequiredPipeline path used to produce this enrichment. Pair with charged to drive billing UX; pair with data.persons to drive the empty-state UX.
member_cache_hitinternal_cache_hitinternal_cache_hit_emptyfresh_skip_tracefresh_skip_trace_emptyresultobjectrequiredPer-batch counts BatchData echoed back (or all-zero on cache hits). matched > 0 implies a fresh hit; noMatch > 0 with matched: 0 implies a genuine no-match.
Show child attributesHide child attributes
errorintegerrequiredmatchedintegerrequirednoMatchintegerrequiredrequestedintegerrequired400objectProperty has no usable address on the parcel or any associated record401objectAuthentication required402objectInsufficient credits403objectCaller lacks permission to charge credits (`permission_denied`)404objectProperty not found, or the caller is not a member of the org (`member_not_found`)409objectThe id resolved to more than one parcel (a non-unique `mm_property_id` colliding across units). Pass one of `alternates` (an exact `id`) to enrich a specific unit. NOT charged.429objectThrottled — `daily_limit_exceeded` (daily category cap, proven by the billing server's structured fields) or `rate_limited` (a short-term throttle that clears on retry; not the daily cap)502objectEnrichment provider error