@model-match/api 3.24.0 → 3.26.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.
@@ -1,4 +1,4 @@
1
- import { n as createClient, w as client } from "../src-BHuxdqI3.mjs";
1
+ import { n as createClient, w as client } from "../src-BA7GY3xL.mjs";
2
2
  //#region src/slim/sdk.gen.ts
3
3
  /**
4
4
  * An LO's sponsorship / registration links (admin)
@@ -74,7 +74,7 @@ const adminGetBulkJob = (options) => {
74
74
  };
75
75
  /**
76
76
  * Search agents with filters
77
- * Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there. A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name, and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.
77
+ * Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there (set `locationSource` to `office` or `production` to use one signal). A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name — one or several names, each a case-insensitive whole-word phrase, `name*` for a prefix; `currentOffice` restricts to the agent's current office — and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.
78
78
  */
79
79
  const listAgents = (options) => {
80
80
  return (options?.client ?? client).post({
@@ -89,7 +89,7 @@ var AdminJobs = class {
89
89
  var Agents = class {
90
90
  /**
91
91
  * Search agents with filters
92
- * Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there. A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name, and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.
92
+ * Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there (set `locationSource` to `office` or `production` to use one signal). A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name — one or several names, each a case-insensitive whole-word phrase, `name*` for a prefix; `currentOffice` restricts to the agent's current office — and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.
93
93
  */
94
94
  static list(options) {
95
95
  return (options?.client ?? client).post({
package/openapi.json CHANGED
@@ -4114,6 +4114,47 @@
4114
4114
  ],
4115
4115
  "description": "Production county, keyed by 5-digit county FIPS code (e.g. `06037` = Los Angeles, CA; `04013` = Maricopa, AZ). Matches agents who closed transactions in this county — NOT their office or listed address, which carry no county data at all. A county NAME is REJECTED with a 400 naming the expected format; resolve the name to its FIPS code first (via instantSearch), or use `city`/`state`, which do accept names. Location dimensions AND with each other, so `county` + `state` returns only agents matching both; what sets `county` apart from `city`/`state`/`zip` is its source — those are satisfied by an office address OR a production market, `county` by production alone."
4116
4116
  },
4117
+ "AgentCrmListFilter": {
4118
+ "additionalProperties": false,
4119
+ "description": "Scope the result to the caller's CRM. Resolved against the caller's ACTIVE WORKSPACE at query time — list membership is read server-side, so the request never carries member ids. Only real-estate-agent members count; loan officers and manual (unlinked) records on the same list are ignored. `mode: \"in\"` with no matching members returns an empty page (not an unfiltered one). Errors: 400 `crm_list_requires_workspace` when the caller has no active workspace (API-key / OAuth callers must select an organization), 403 / 404 when a named list is not visible to the caller or does not exist, and 400 `crm_list_too_large` when the selected lists hold more than 50,000 agents in total — narrow the selection rather than get a silently partial answer.",
4120
+ "properties": {
4121
+ "lists": {
4122
+ "anyOf": [
4123
+ {
4124
+ "description": "Every People list in the caller's workspace that the caller can see (own, org-wide, or shared with them).",
4125
+ "enum": [
4126
+ "any"
4127
+ ],
4128
+ "type": "string"
4129
+ },
4130
+ {
4131
+ "description": "Specific CRM list ids (1–50).",
4132
+ "items": {
4133
+ "minLength": 1,
4134
+ "type": "string"
4135
+ },
4136
+ "maxItems": 50,
4137
+ "minItems": 1,
4138
+ "type": "array"
4139
+ }
4140
+ ],
4141
+ "description": "Which lists: `\"any\"` for every People list the caller can see, or an array of list ids. Membership is the UNION across the selected lists."
4142
+ },
4143
+ "mode": {
4144
+ "description": "`in` — only agents who are a member of the selected list(s). `notIn` — exclude every agent who is a member of the selected list(s); everyone else passes, including agents on none of your lists.",
4145
+ "enum": [
4146
+ "in",
4147
+ "notIn"
4148
+ ],
4149
+ "type": "string"
4150
+ }
4151
+ },
4152
+ "required": [
4153
+ "mode",
4154
+ "lists"
4155
+ ],
4156
+ "type": "object"
4157
+ },
4117
4158
  "AgentDetail": {
4118
4159
  "allOf": [
4119
4160
  {
@@ -4323,12 +4364,25 @@
4323
4364
  "advancedFilters": {
4324
4365
  "$ref": "#/components/schemas/FilterNode"
4325
4366
  },
4367
+ "crmList": {
4368
+ "$ref": "#/components/schemas/AgentCrmListFilter"
4369
+ },
4326
4370
  "filters": {
4327
4371
  "$ref": "#/components/schemas/FilterNode"
4328
4372
  },
4329
4373
  "flatFilters": {
4330
4374
  "additionalProperties": false,
4331
4375
  "properties": {
4376
+ "activeListings": {
4377
+ "allOf": [
4378
+ {
4379
+ "$ref": "#/components/schemas/NumericFilterValue"
4380
+ },
4381
+ {
4382
+ "description": "Current active listings (not period-scoped). `{gte: 1}` = has listings."
4383
+ }
4384
+ ]
4385
+ },
4332
4386
  "avgMortgagedLoanAmount": {
4333
4387
  "allOf": [
4334
4388
  {
@@ -4361,6 +4415,16 @@
4361
4415
  "county": {
4362
4416
  "$ref": "#/components/schemas/AgentCountyFilterValue"
4363
4417
  },
4418
+ "currentOffice": {
4419
+ "allOf": [
4420
+ {
4421
+ "$ref": "#/components/schemas/TextFilterValue"
4422
+ },
4423
+ {
4424
+ "description": "Brokerage/office name(s), OR'd: each a case-insensitive whole-word phrase (`\"compass\"` matches \"Compass RE\", not \"Encompass\"); end with `*` for a prefix (`\"washington fine*\"`); names with punctuation (`\"@properties\"`) match as a substring. `{match}` is a fuzzy single-name match. Matches only the agent's CURRENT office; `office` takes the same values and matches ANY office on record."
4425
+ }
4426
+ ]
4427
+ },
4364
4428
  "dualUnits": {
4365
4429
  "$ref": "#/components/schemas/NumericFilterValue"
4366
4430
  },
@@ -4370,6 +4434,26 @@
4370
4434
  "email": {
4371
4435
  "$ref": "#/components/schemas/TextFilterValue"
4372
4436
  },
4437
+ "excludeCurrentOffice": {
4438
+ "allOf": [
4439
+ {
4440
+ "$ref": "#/components/schemas/TextFilterValue"
4441
+ },
4442
+ {
4443
+ "description": "Drop agents whose CURRENT office matches these names."
4444
+ }
4445
+ ]
4446
+ },
4447
+ "excludeOffice": {
4448
+ "allOf": [
4449
+ {
4450
+ "$ref": "#/components/schemas/TextFilterValue"
4451
+ },
4452
+ {
4453
+ "description": "Drop agents with ANY office matching these names (same grammar as `office`)."
4454
+ }
4455
+ ]
4456
+ },
4373
4457
  "firstName": {
4374
4458
  "allOf": [
4375
4459
  {
@@ -4384,6 +4468,26 @@
4384
4468
  "geoPoint": {
4385
4469
  "$ref": "#/components/schemas/GeoFilterValue"
4386
4470
  },
4471
+ "hasEmail": {
4472
+ "allOf": [
4473
+ {
4474
+ "$ref": "#/components/schemas/BooleanFilterValue"
4475
+ },
4476
+ {
4477
+ "description": "Whether the row's `email` is populated."
4478
+ }
4479
+ ]
4480
+ },
4481
+ "hasPhone": {
4482
+ "allOf": [
4483
+ {
4484
+ "$ref": "#/components/schemas/BooleanFilterValue"
4485
+ },
4486
+ {
4487
+ "description": "Whether the row's `phone` is populated."
4488
+ }
4489
+ ]
4490
+ },
4387
4491
  "id": {
4388
4492
  "allOf": [
4389
4493
  {
@@ -4405,9 +4509,29 @@
4405
4509
  }
4406
4510
  ]
4407
4511
  },
4512
+ "lastTransactionDate": {
4513
+ "allOf": [
4514
+ {
4515
+ "$ref": "#/components/schemas/DateFilterValue"
4516
+ },
4517
+ {
4518
+ "description": "Date of the agent's newest deal inside the selected period — \"recently active\". `{gte: \"2026-07-01\"}`. Only producing agents carry it."
4519
+ }
4520
+ ]
4521
+ },
4408
4522
  "licenseNumber": {
4409
4523
  "$ref": "#/components/schemas/AgentLicenseFilterValue"
4410
4524
  },
4525
+ "licensedSinceDate": {
4526
+ "allOf": [
4527
+ {
4528
+ "$ref": "#/components/schemas/DateFilterValue"
4529
+ },
4530
+ {
4531
+ "description": "Original issue date of a real-estate license on the record (any license) — \"new agents\": `{gte: \"2025-10-01\"}`. Lifetime, not period-scoped; on ~26% of agents."
4532
+ }
4533
+ ]
4534
+ },
4411
4535
  "mode": {
4412
4536
  "enum": [
4413
4537
  "and",
@@ -4685,12 +4809,24 @@
4685
4809
  "lenderMatchMode": {
4686
4810
  "$ref": "#/components/schemas/LenderMatchMode"
4687
4811
  },
4812
+ "locationSource": {
4813
+ "$ref": "#/components/schemas/AgentLocationSource"
4814
+ },
4815
+ "losOnMyTeam": {
4816
+ "$ref": "#/components/schemas/AgentLosOnMyTeamFilter"
4817
+ },
4688
4818
  "pagination": {
4689
4819
  "$ref": "#/components/schemas/Pagination"
4690
4820
  },
4691
4821
  "period": {
4692
4822
  "$ref": "#/components/schemas/Period"
4693
4823
  },
4824
+ "productMix": {
4825
+ "$ref": "#/components/schemas/AgentProductMixFilter"
4826
+ },
4827
+ "sideDominance": {
4828
+ "$ref": "#/components/schemas/AgentSideDominance"
4829
+ },
4694
4830
  "sort": {
4695
4831
  "items": {
4696
4832
  "properties": {
@@ -5425,6 +5561,39 @@
5425
5561
  },
5426
5562
  "type": "object"
5427
5563
  },
5564
+ "AgentLocationSource": {
5565
+ "description": "Which location signal `city`/`state`/`zip`/`county` match. `any` (default) = an office OR a market they transacted in; `office` = their CURRENT office only (a `county` filter is a 400 — offices carry no county); `production` = transaction markets only.",
5566
+ "enum": [
5567
+ "any",
5568
+ "office",
5569
+ "production"
5570
+ ],
5571
+ "type": "string"
5572
+ },
5573
+ "AgentLosOnMyTeamFilter": {
5574
+ "additionalProperties": false,
5575
+ "description": "Relationship with loan officers at the CALLER's company, resolved server-side from the caller's profile NMLS id and that LO's current employer; the caller's own deals never count. 400 `los_on_my_team_requires_company` when the caller has no NMLS id on their profile or it resolves to no company.",
5576
+ "properties": {
5577
+ "minUnits": {
5578
+ "description": "Buyer-side deals with ONE colleague that count as a relationship (default 1). Under `doesNotWorkWith`, agents below it still pass.",
5579
+ "maximum": 100,
5580
+ "minimum": 1,
5581
+ "type": "integer"
5582
+ },
5583
+ "relationship": {
5584
+ "description": "`worksWith` — the agent's buyers were financed by loan officers at the caller's company; `doesNotWorkWith` — no such relationship (prospects).",
5585
+ "enum": [
5586
+ "worksWith",
5587
+ "doesNotWorkWith"
5588
+ ],
5589
+ "type": "string"
5590
+ }
5591
+ },
5592
+ "required": [
5593
+ "relationship"
5594
+ ],
5595
+ "type": "object"
5596
+ },
5428
5597
  "AgentMarket": {
5429
5598
  "properties": {
5430
5599
  "avgSalePrice": {
@@ -5825,6 +5994,45 @@
5825
5994
  ],
5826
5995
  "type": "object"
5827
5996
  },
5997
+ "AgentProductMixEntry": {
5998
+ "additionalProperties": false,
5999
+ "properties": {
6000
+ "minShare": {
6001
+ "description": "Minimum financed volume of this product through ONE mortgage company, as a percent of the agent's period sale volume. Omit for 'any deal financed with this product'.",
6002
+ "minimum": 0,
6003
+ "type": "number"
6004
+ },
6005
+ "product": {
6006
+ "description": "Loan product (case-insensitive). `government` = FHA, VA or USDA.",
6007
+ "enum": [
6008
+ "conventional",
6009
+ "fha",
6010
+ "va",
6011
+ "usda",
6012
+ "government",
6013
+ "he",
6014
+ "heloc",
6015
+ "commercial",
6016
+ "building",
6017
+ "reverse"
6018
+ ],
6019
+ "type": "string"
6020
+ }
6021
+ },
6022
+ "required": [
6023
+ "product"
6024
+ ],
6025
+ "type": "object"
6026
+ },
6027
+ "AgentProductMixFilter": {
6028
+ "description": "Agents whose buyers financed with these loan products in the selected period, ANDed: `[{product: \"fha\"}, {product: \"va\", minShare: 10}]`. Not a whole-book share — the index stores product mix per mortgage company only.",
6029
+ "items": {
6030
+ "$ref": "#/components/schemas/AgentProductMixEntry"
6031
+ },
6032
+ "maxItems": 10,
6033
+ "minItems": 1,
6034
+ "type": "array"
6035
+ },
5828
6036
  "AgentPropertiesResponse": {
5829
6037
  "properties": {
5830
6038
  "cursor": {
@@ -6108,6 +6316,19 @@
6108
6316
  ],
6109
6317
  "type": "string"
6110
6318
  },
6319
+ "AgentSideDominance": {
6320
+ "description": "Which side the agent mostly represents in the selected period, OR'd: `buyer` = more buyer-side than seller-side deals, `seller` = the reverse (a tie is neither), `dual` = at least one dual-agency deal.",
6321
+ "items": {
6322
+ "enum": [
6323
+ "buyer",
6324
+ "seller",
6325
+ "dual"
6326
+ ],
6327
+ "type": "string"
6328
+ },
6329
+ "minItems": 1,
6330
+ "type": "array"
6331
+ },
6111
6332
  "AgentSummary": {
6112
6333
  "properties": {
6113
6334
  "avgSoldPrice": {
@@ -41562,7 +41783,7 @@
41562
41783
  "info": {
41563
41784
  "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.",
41564
41785
  "title": "ModelMatch API",
41565
- "version": "3.76.0"
41786
+ "version": "3.78.0"
41566
41787
  },
41567
41788
  "openapi": "3.1.0",
41568
41789
  "paths": {
@@ -41837,7 +42058,7 @@
41837
42058
  },
41838
42059
  "/v1/agents": {
41839
42060
  "post": {
41840
- "description": "Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there. A search for city \"Long Beach\" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name, and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.",
42061
+ "description": "Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there (set `locationSource` to `office` or `production` to use one signal). A search for city \"Long Beach\" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name — one or several names, each a case-insensitive whole-word phrase, `name*` for a prefix; `currentOffice` restricts to the agent's current office — and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) RANKING BY DEAL SIDE: combine a location filter with `sort` on `buyerVolume`/`buyerUnits` (or `sellerVolume`/`sellerUnits`, `dualVolume`/`dualUnits`) to rank agents by how active they are representing buyers vs. sellers in that market — e.g. sort `buyerVolume` descending for the most active buyer-side agents in a state or city. This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.) If you only need how many agents match and not the records themselves, send the same request body to `countAgents`.",
41841
42062
  "operationId": "listAgents",
41842
42063
  "requestBody": {
41843
42064
  "content": {
@@ -42194,7 +42415,7 @@
42194
42415
  "$ref": "#/components/schemas/BulkDeliveryDestination"
42195
42416
  },
42196
42417
  "fields": {
42197
- "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). 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.",
42418
+ "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), `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. 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.",
42198
42419
  "items": {
42199
42420
  "minLength": 1,
42200
42421
  "type": "string"
@@ -47150,7 +47371,7 @@
47150
47371
  "$ref": "#/components/schemas/BulkDeliveryDestination"
47151
47372
  },
47152
47373
  "fields": {
47153
- "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). 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.",
47374
+ "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), `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. 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.",
47154
47375
  "items": {
47155
47376
  "minLength": 1,
47156
47377
  "type": "string"
@@ -48663,7 +48884,7 @@
48663
48884
  "$ref": "#/components/schemas/BulkDeliveryDestination"
48664
48885
  },
48665
48886
  "fields": {
48666
- "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). 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.",
48887
+ "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), `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. 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.",
48667
48888
  "items": {
48668
48889
  "minLength": 1,
48669
48890
  "type": "string"
@@ -64604,7 +64825,7 @@
64604
64825
  "$ref": "#/components/schemas/BulkDeliveryDestination"
64605
64826
  },
64606
64827
  "fields": {
64607
- "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). 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.",
64828
+ "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), `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. 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.",
64608
64829
  "items": {
64609
64830
  "minLength": 1,
64610
64831
  "type": "string"
@@ -68266,7 +68487,7 @@
68266
68487
  "$ref": "#/components/schemas/BulkDeliveryDestination"
68267
68488
  },
68268
68489
  "fields": {
68269
- "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). 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.",
68490
+ "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), `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. 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.",
68270
68491
  "items": {
68271
68492
  "minLength": 1,
68272
68493
  "type": "string"
@@ -70367,7 +70588,7 @@
70367
70588
  "$ref": "#/components/schemas/BulkDeliveryDestination"
70368
70589
  },
70369
70590
  "fields": {
70370
- "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). 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.",
70591
+ "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), `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. 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.",
70371
70592
  "items": {
70372
70593
  "minLength": 1,
70373
70594
  "type": "string"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@model-match/api",
3
- "version": "3.24.0",
3
+ "version": "3.26.0",
4
4
  "description": "TypeScript client for the ModelMatch API",
5
5
  "license": "MIT",
6
6
  "files": [