Originators

The markets this LO lends in

POST
/v1/originators/{nmlsId}/markets

One blended view of a loan officer's lending footprint: the ZIP codes they originated in, city / county / state rollups of the same scope, and the period totals those markets are a share of. AVERAGES ARE VOLUME-WEIGHTED: the summary loan size is Σ volume ÷ Σ units, not an unweighted mean of the per-market averages (on a real footprint the two differ by thousands of dollars). Sending zipCodes narrows every grain to those ZIPs; sending a dateRange re-cuts the window. Either switches the response from the LO's pre-aggregated footprint to a live aggregation of their loans — source and sourceReasons say which was used, and bucket key forms differ between them (use name for display). All shares on this response are 0–100 percentages. A summary can cover less than the whole book: production that could not be attributed to a place is held out and reported in summary.unresolved rather than being folded in or silently dropped. The summary also carries a Community Lending mix — what kind of neighborhood this book lands in. These are U.S. Census tract-level aggregates describing whole neighborhoods, never individual, household or applicant attributes. Unscoped it is the LO's own whole-period mix; a ZIP or date scope recomputes it over the markets in scope, and summary.communityLending.basis says which you got.

Authorization

x-api-key<token>

In: header

Path Parameters

nmlsId*string

Originator NMLS ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/originators/string/markets" \  -H "Content-Type: application/json" \  -d '{}'
{
  "nmlsId": "string",
  "notes": [
    "string"
  ],
  "period": "string",
  "rollups": {
    "cities": [
      {
        "avgLoanAmount": 0,
        "key": "string",
        "name": "string",
        "shareOfBook": 0,
        "shareOfScope": 0,
        "units": 0,
        "volume": 0
      }
    ],
    "counties": [
      {
        "avgLoanAmount": 0,
        "key": "string",
        "name": "string",
        "shareOfBook": 0,
        "shareOfScope": 0,
        "units": 0,
        "volume": 0
      }
    ],
    "states": [
      {
        "avgLoanAmount": 0,
        "key": "string",
        "name": "string",
        "shareOfBook": 0,
        "shareOfScope": 0,
        "units": 0,
        "volume": 0
      }
    ]
  },
  "scope": {
    "dateRange": {
      "from": "string",
      "to": "string"
    },
    "zipCodes": [
      "string"
    ]
  },
  "source": "documentRollup",
  "sourceReasons": [
    "doc-rollup"
  ],
  "summary": {
    "avgLoanAmount": 0,
    "communityLending": {
      "affordableHousingTractPct": 0,
      "basis": "entityRollup",
      "coveredProductionPct": 0,
      "difficultDevelopmentAreaPct": 0,
      "distressedTractPct": 0,
      "floodHazardTractPct": 0,
      "incomeLevelMix": {
        "low": 0,
        "middle": 0,
        "moderate": 0,
        "upper": 0
      },
      "loansWithCommunityData": 0,
      "lowModIncomeTractPct": 0,
      "majorityMinorityTractPct": 0,
      "marketsInScope": 0,
      "marketsWithCommunityData": 0,
      "opportunityZonePct": 0,
      "predominantIncomeLevel": "low",
      "ruralTractPct": 0,
      "usdaEligibleTractPct": 0
    },
    "markets": 0,
    "shareOfBook": 0,
    "truncatedMarkets": true,
    "units": 0,
    "unresolved": {
      "markets": 0,
      "shareOfBook": 0,
      "units": 0,
      "volume": 0
    },
    "volume": 0
  },
  "totals": {
    "avgLoanAmount": 0,
    "footprintCoverage": 0,
    "units": 0,
    "volume": 0
  },
  "zips": [
    {
      "avgLoanAmount": 0,
      "key": "string",
      "name": "string",
      "shareOfBook": 0,
      "shareOfScope": 0,
      "units": 0,
      "volume": 0
    }
  ]
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string"
}
{
  "error": "string",
  "limit": 0,
  "size": 0
}