@model-match/api 3.49.0 → 3.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/openapi.json CHANGED
@@ -15387,8 +15387,8 @@
15387
15387
  ],
15388
15388
  "type": "object"
15389
15389
  },
15390
- "leakiestOriginators": {
15391
- "description": "The company's own LOs ranked by borrowers lost to other companies (top 10; only LOs with at least 10 refi events in the window).",
15390
+ "originatorRetention": {
15391
+ "description": "Refinance retention for the company's own loan officers, ranked by borrowers who refinanced at another company (top 10; only LOs with at least 10 refi events in the window).",
15392
15392
  "items": {
15393
15393
  "properties": {
15394
15394
  "churnedCount": {
@@ -15802,7 +15802,7 @@
15802
15802
  "capturingCompanies",
15803
15803
  "capturingOriginators",
15804
15804
  "capturingTotals",
15805
- "leakiestOriginators",
15805
+ "originatorRetention",
15806
15806
  "previous",
15807
15807
  "book"
15808
15808
  ],
@@ -43927,7 +43927,7 @@
43927
43927
  "info": {
43928
43928
  "description": "ModelMatch API — mortgage and real-estate market data.\n\n## Bulk delivery limits\n\nThe `POST /{entity}/bulk-delivery` endpoints export a full result set to\nS3 as NDJSON, JSON, CSV, or Parquet.\n\n- **Up to 5,000 rows per delivery: no entitlement required.** Available to\n every authenticated caller.\n- **Above 5,000 rows: requires the entity's `bulk-delivery.{entity}`\n entitlement** (e.g. `bulk-delivery.loans`). The grant's scope sets your\n row ceiling and may also restrict which rows and fields you receive.\n\nA delivery that would exceed the limit available to you is rejected with\n`403 entitlement_missing`, reporting the matched row count and the ceiling\nthat applied. To stay under the limit, pass `limit` — the job then delivers\n(and bills for) only the first `limit` rows of a broader query.\n\n**Need a higher limit?** Email support@modelmatch.com to request the\nentitlement. Limits are raised per organization and per entity.\n\nBulk delivery is billed at 1 credit per delivered row whether or not\nan entitlement is held.\n\nInstead of a download, a delivery can be sent to a push target configured\non your workspace: pass `destination: { type: \"push-target\", targetId }`.\nThe same limits and billing apply.",
43929
43929
  "title": "ModelMatch API",
43930
- "version": "3.110.0"
43930
+ "version": "3.112.0"
43931
43931
  },
43932
43932
  "openapi": "3.1.0",
43933
43933
  "paths": {
@@ -44308,7 +44308,7 @@
44308
44308
  "additionalProperties": false,
44309
44309
  "properties": {
44310
44310
  "columns": {
44311
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
44311
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
44312
44312
  "items": {
44313
44313
  "$ref": "#/components/schemas/BulkDeliveryColumn"
44314
44314
  },
@@ -44320,7 +44320,7 @@
44320
44320
  "$ref": "#/components/schemas/BulkDeliveryDestination"
44321
44321
  },
44322
44322
  "fields": {
44323
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
44323
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
44324
44324
  "items": {
44325
44325
  "minLength": 1,
44326
44326
  "type": "string"
@@ -50108,7 +50108,7 @@
50108
50108
  "additionalProperties": false,
50109
50109
  "properties": {
50110
50110
  "columns": {
50111
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
50111
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
50112
50112
  "items": {
50113
50113
  "$ref": "#/components/schemas/BulkDeliveryColumn"
50114
50114
  },
@@ -50120,7 +50120,7 @@
50120
50120
  "$ref": "#/components/schemas/BulkDeliveryDestination"
50121
50121
  },
50122
50122
  "fields": {
50123
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
50123
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
50124
50124
  "items": {
50125
50125
  "minLength": 1,
50126
50126
  "type": "string"
@@ -51751,7 +51751,7 @@
51751
51751
  "additionalProperties": false,
51752
51752
  "properties": {
51753
51753
  "columns": {
51754
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
51754
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
51755
51755
  "items": {
51756
51756
  "$ref": "#/components/schemas/BulkDeliveryColumn"
51757
51757
  },
@@ -51763,7 +51763,7 @@
51763
51763
  "$ref": "#/components/schemas/BulkDeliveryDestination"
51764
51764
  },
51765
51765
  "fields": {
51766
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
51766
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
51767
51767
  "items": {
51768
51768
  "minLength": 1,
51769
51769
  "type": "string"
@@ -54586,7 +54586,7 @@
54586
54586
  },
54587
54587
  "/v1/companies/{nmlsId}/retention": {
54588
54588
  "get": {
54589
- "description": "How well a company keeps its borrowers when they refinance: kept (refinanced again by ANY LO at the company) vs lost to other companies, with the capturing companies and LOs, timing, the trend, a verdict, and the company's leakiest LOs. Precomputed weekly — `computedAt` says when. 404 means not computed (no loans since 2017, or not reached yet), never zero retention.",
54589
+ "description": "How well a company keeps its borrowers when they refinance: kept (refinanced again by ANY LO at the company) vs lost to other companies, with the capturing companies and LOs, timing, the trend, a verdict, and per-LO retention for the company's own loan officers. Precomputed weekly — `computedAt` says when. 404 means not computed (no loans since 2017, or not reached yet), never zero retention.",
54590
54590
  "operationId": "companyRetention",
54591
54591
  "parameters": [
54592
54592
  {
@@ -70633,7 +70633,7 @@
70633
70633
  "additionalProperties": false,
70634
70634
  "properties": {
70635
70635
  "columns": {
70636
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
70636
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
70637
70637
  "items": {
70638
70638
  "$ref": "#/components/schemas/BulkDeliveryColumn"
70639
70639
  },
@@ -70645,7 +70645,7 @@
70645
70645
  "$ref": "#/components/schemas/BulkDeliveryDestination"
70646
70646
  },
70647
70647
  "fields": {
70648
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
70648
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
70649
70649
  "items": {
70650
70650
  "minLength": 1,
70651
70651
  "type": "string"
@@ -75078,7 +75078,7 @@
75078
75078
  "additionalProperties": false,
75079
75079
  "properties": {
75080
75080
  "columns": {
75081
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
75081
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
75082
75082
  "items": {
75083
75083
  "$ref": "#/components/schemas/BulkDeliveryColumn"
75084
75084
  },
@@ -75090,7 +75090,7 @@
75090
75090
  "$ref": "#/components/schemas/BulkDeliveryDestination"
75091
75091
  },
75092
75092
  "fields": {
75093
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
75093
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
75094
75094
  "items": {
75095
75095
  "minLength": 1,
75096
75096
  "type": "string"
@@ -77686,7 +77686,7 @@
77686
77686
  "additionalProperties": false,
77687
77687
  "properties": {
77688
77688
  "columns": {
77689
- "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount` and `managerName` / `managerNmlsId`.",
77689
+ "description": "A FORMATTED file: its columns, in order, with header labels and number formats — for `format` `csv` or `xlsx` only, and not combined with `fields` or a push-target `destination` (400 `columns_format_unsupported` / `columns_with_fields` / `columns_with_destination`). Every field a column reads is gated by the entitlement exactly as if it were listed in `fields`: a withheld field drops out of a column's fallback list, and a column with nothing left is omitted. An unknown field is a 400 `unknown_column_field`. No `id` column is added. A formatted `csv` starts with a UTF-8 byte-order mark and uses CRLF line endings, so Excel opens it with accented names intact. Columns may read any DTO field and any opt-in column `fields` documents, including the computed `governmentPct`, `branchCount`, `managerName` / `managerNmlsId` and `licensedSince`.",
77690
77690
  "items": {
77691
77691
  "$ref": "#/components/schemas/BulkDeliveryColumn"
77692
77692
  },
@@ -77698,7 +77698,7 @@
77698
77698
  "$ref": "#/components/schemas/BulkDeliveryDestination"
77699
77699
  },
77700
77700
  "fields": {
77701
- "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
77701
+ "description": "Optional output column projection, named by the response DTO fields (the same camelCase fields the list endpoint returns, e.g. `city`, `interestRate`). Intersected with the entitlement scope's allowedFields and the entity's full column set. If empty after intersection, falls back to all columns. It also SELECTS the opt-in columns, which are not part of the list DTO and are never delivered unless named here: `communityLending` (properties, originators, companies, branches) — the Community Lending neighborhood profile, identical to the block on the entity's detail endpoint; `parties` (properties) — the mortgage parties attributed to the parcel, by attribution scope; `marketCount` / `countyCount` / `stateCount` / `zipCount` / `lenderCount` (originators) — the market-breadth rollups you can already filter on; and the computed `governmentPct` (originators: FHA + VA percent of loans, 0–100), `branchCount` (companies: NMLS branch count) and `managerName` / `managerNmlsId` (branches: the first branch manager) and `licensedSince` (branches: first-licensed date, the earliest license `issueDate`, YYYY-MM-DD). Agents also offer `email2` / `phone2` (the best-ranked email / phone distinct from `email` / `phone`, admitted by the `email` / `phone` entitlement field), `bestEmail` / `bestEmail2` and `bestPhone` / `bestPhone2` (the best and runner-up contact over every email / phone on the record, `email` / `phone` included — the pair the ModelMatch web app's agent export shows; same entitlement fields), `officePhone` (admitted by `phone`), `activeListings` (current active listings; null when unknown), and the profile-link columns `facebook`, `instagram`, `linkedin`, `twitter`, `youtube`, `tiktok`, `zillow`, `otherLinks` (a `; `-joined list of profile URLs on no known platform) — all admitted by the `links` entitlement field. Loans offer the list row's transaction-export fields (`employerName`, `employerNmlsId`, `brokerName`, `titleCompanyName`, `soldAgentName`, `listAgentName`, `coListAgentName`, `buyer1FirstMiddle` … `seller2Last`). In `csv` and `parquet` the two block columns are JSON-encoded cells; in `json` and `ndjson` they are nested objects. Windowed production (originators, agents, companies, branches): name `<field>_<n>mo` for n in 3, 6, 12, 14, 18, 24 to get a production field for that trailing window regardless of `period` — e.g. `volume_3mo`, `units_6mo`, `purchaseVolume_24mo`. Available for originators `volume`, `units`, `avgLoanAmount`, `purchaseVolume`, `purchaseUnits`, `refinanceVolume`, `refinanceUnits`, `conventionalPct`, `fhaPct`, `vaPct`; agents `volume`, `units`, `avgSoldPrice`, `buyerVolume`, `buyerUnits`, `sellerVolume`, `sellerUnits`, `totalOriginatorsWorkedWith`, `totalCompaniesWorkedWith`, `totalLendersWorkedWith`; companies `volume`, `units`, `avgLoanAmount`, `loCount`; branches `volume`, `units`, `avgLoanAmount`, `purchasePct`, `refinancePct`, `loCount`. Numbers (null when the window has no data); an entitlement that allows a field allows every window of it.",
77702
77702
  "items": {
77703
77703
  "minLength": 1,
77704
77704
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@model-match/api",
3
- "version": "3.49.0",
3
+ "version": "3.50.0",
4
4
  "description": "TypeScript client for the ModelMatch API",
5
5
  "license": "MIT",
6
6
  "files": [