@model-match/api 3.31.1 → 3.33.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/dist/{index-DtfP3gUb.d.mts → index-bVY1OL8E.d.mts} +211 -9
- package/dist/index.d.mts +2 -2
- package/dist/slim/index.d.mts +2 -2
- package/openapi.json +469 -11
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -6649,6 +6649,26 @@
|
|
|
6649
6649
|
"nullable": true,
|
|
6650
6650
|
"type": "string"
|
|
6651
6651
|
},
|
|
6652
|
+
"buyer1FirstMiddle": {
|
|
6653
|
+
"description": "First buyer's first + middle name (an entity's whole name, with no last).",
|
|
6654
|
+
"nullable": true,
|
|
6655
|
+
"type": "string"
|
|
6656
|
+
},
|
|
6657
|
+
"buyer1Last": {
|
|
6658
|
+
"description": "First buyer's last name.",
|
|
6659
|
+
"nullable": true,
|
|
6660
|
+
"type": "string"
|
|
6661
|
+
},
|
|
6662
|
+
"buyer2FirstMiddle": {
|
|
6663
|
+
"description": "Second buyer's first + middle name.",
|
|
6664
|
+
"nullable": true,
|
|
6665
|
+
"type": "string"
|
|
6666
|
+
},
|
|
6667
|
+
"buyer2Last": {
|
|
6668
|
+
"description": "Second buyer's last name.",
|
|
6669
|
+
"nullable": true,
|
|
6670
|
+
"type": "string"
|
|
6671
|
+
},
|
|
6652
6672
|
"buyerName": {
|
|
6653
6673
|
"description": "First buyer named on the sale — from the purchase loan's document when the MLS record names none; `null` on most cash deals",
|
|
6654
6674
|
"nullable": true,
|
|
@@ -6689,6 +6709,11 @@
|
|
|
6689
6709
|
"nullable": true,
|
|
6690
6710
|
"type": "string"
|
|
6691
6711
|
},
|
|
6712
|
+
"listOfficeName": {
|
|
6713
|
+
"description": "Listing agent's brokerage (office), as the MLS recorded it; `null` when not on file",
|
|
6714
|
+
"nullable": true,
|
|
6715
|
+
"type": "string"
|
|
6716
|
+
},
|
|
6692
6717
|
"listPrice": {
|
|
6693
6718
|
"description": "Last MLS list price",
|
|
6694
6719
|
"nullable": true,
|
|
@@ -6721,6 +6746,16 @@
|
|
|
6721
6746
|
"nullable": true,
|
|
6722
6747
|
"type": "string"
|
|
6723
6748
|
},
|
|
6749
|
+
"employerName": {
|
|
6750
|
+
"description": "Employer at the time of the loan (the LO's company then), as recorded. Not `companyName`, the funding company on the document.",
|
|
6751
|
+
"nullable": true,
|
|
6752
|
+
"type": "string"
|
|
6753
|
+
},
|
|
6754
|
+
"employerNmlsId": {
|
|
6755
|
+
"description": "NMLS id of `employerName`.",
|
|
6756
|
+
"nullable": true,
|
|
6757
|
+
"type": "string"
|
|
6758
|
+
},
|
|
6724
6759
|
"id": {
|
|
6725
6760
|
"description": "Loan id (`GET /v1/loans/{id}`)",
|
|
6726
6761
|
"type": "string"
|
|
@@ -6788,6 +6823,26 @@
|
|
|
6788
6823
|
"nullable": true,
|
|
6789
6824
|
"type": "number"
|
|
6790
6825
|
},
|
|
6826
|
+
"seller1FirstMiddle": {
|
|
6827
|
+
"description": "First seller's first + middle name.",
|
|
6828
|
+
"nullable": true,
|
|
6829
|
+
"type": "string"
|
|
6830
|
+
},
|
|
6831
|
+
"seller1Last": {
|
|
6832
|
+
"description": "First seller's last name.",
|
|
6833
|
+
"nullable": true,
|
|
6834
|
+
"type": "string"
|
|
6835
|
+
},
|
|
6836
|
+
"seller2FirstMiddle": {
|
|
6837
|
+
"description": "Second seller's first + middle name.",
|
|
6838
|
+
"nullable": true,
|
|
6839
|
+
"type": "string"
|
|
6840
|
+
},
|
|
6841
|
+
"seller2Last": {
|
|
6842
|
+
"description": "Second seller's last name.",
|
|
6843
|
+
"nullable": true,
|
|
6844
|
+
"type": "string"
|
|
6845
|
+
},
|
|
6791
6846
|
"sellerName": {
|
|
6792
6847
|
"description": "First seller named on the sale — from the purchase loan's document when the MLS record names none",
|
|
6793
6848
|
"nullable": true,
|
|
@@ -11804,6 +11859,47 @@
|
|
|
11804
11859
|
}
|
|
11805
11860
|
]
|
|
11806
11861
|
},
|
|
11862
|
+
"BranchCrmListFilter": {
|
|
11863
|
+
"additionalProperties": false,
|
|
11864
|
+
"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 branch members count; people, companies, offices 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 branches in total — narrow the selection rather than get a silently partial answer.",
|
|
11865
|
+
"properties": {
|
|
11866
|
+
"lists": {
|
|
11867
|
+
"anyOf": [
|
|
11868
|
+
{
|
|
11869
|
+
"description": "Every list in the caller's workspace that the caller can see (own, org-wide, or shared with them) and that holds this kind of record — People lists for originators and agents, Company lists for companies.",
|
|
11870
|
+
"enum": [
|
|
11871
|
+
"any"
|
|
11872
|
+
],
|
|
11873
|
+
"type": "string"
|
|
11874
|
+
},
|
|
11875
|
+
{
|
|
11876
|
+
"description": "Specific CRM list ids (1–50).",
|
|
11877
|
+
"items": {
|
|
11878
|
+
"minLength": 1,
|
|
11879
|
+
"type": "string"
|
|
11880
|
+
},
|
|
11881
|
+
"maxItems": 50,
|
|
11882
|
+
"minItems": 1,
|
|
11883
|
+
"type": "array"
|
|
11884
|
+
}
|
|
11885
|
+
],
|
|
11886
|
+
"description": "Which lists: `\"any\"` for every Company list the caller can see, or an array of list ids. Membership is the UNION across the selected lists."
|
|
11887
|
+
},
|
|
11888
|
+
"mode": {
|
|
11889
|
+
"description": "`in` — only branches who are a member of the selected list(s). `notIn` — exclude every branch who is a member of the selected list(s); everyone else passes, including branches on none of your lists.",
|
|
11890
|
+
"enum": [
|
|
11891
|
+
"in",
|
|
11892
|
+
"notIn"
|
|
11893
|
+
],
|
|
11894
|
+
"type": "string"
|
|
11895
|
+
}
|
|
11896
|
+
},
|
|
11897
|
+
"required": [
|
|
11898
|
+
"mode",
|
|
11899
|
+
"lists"
|
|
11900
|
+
],
|
|
11901
|
+
"type": "object"
|
|
11902
|
+
},
|
|
11807
11903
|
"BranchDetailResponse": {
|
|
11808
11904
|
"properties": {
|
|
11809
11905
|
"data": {
|
|
@@ -11832,9 +11928,12 @@
|
|
|
11832
11928
|
"units",
|
|
11833
11929
|
"avgLoanAmount",
|
|
11834
11930
|
"teamSize",
|
|
11931
|
+
"loCount",
|
|
11835
11932
|
"rosterJoined",
|
|
11836
11933
|
"rosterLeft",
|
|
11837
|
-
"producersOnly"
|
|
11934
|
+
"producersOnly",
|
|
11935
|
+
"purchaseShare",
|
|
11936
|
+
"refinanceShare"
|
|
11838
11937
|
],
|
|
11839
11938
|
"type": "string"
|
|
11840
11939
|
},
|
|
@@ -12094,6 +12193,16 @@
|
|
|
12094
12193
|
"companyType": {
|
|
12095
12194
|
"$ref": "#/components/schemas/BranchCompanyTypeFilterValue"
|
|
12096
12195
|
},
|
|
12196
|
+
"county": {
|
|
12197
|
+
"allOf": [
|
|
12198
|
+
{
|
|
12199
|
+
"$ref": "#/components/schemas/TextFilterValue"
|
|
12200
|
+
},
|
|
12201
|
+
{
|
|
12202
|
+
"description": "Branch address COUNTY: a name (`Travis`, with `state` when ambiguous), a 5-digit FIPS (`48453`) or a dictionary county id; an array matches any. Matches when the branch's geocoded address lies inside the county boundary (no geocode = no match). Unknown county = 400."
|
|
12203
|
+
}
|
|
12204
|
+
]
|
|
12205
|
+
},
|
|
12097
12206
|
"difficultDevelopmentAreaCount": {
|
|
12098
12207
|
"allOf": [
|
|
12099
12208
|
{
|
|
@@ -12166,6 +12275,9 @@
|
|
|
12166
12275
|
"loCount": {
|
|
12167
12276
|
"$ref": "#/components/schemas/NumericFilterValue"
|
|
12168
12277
|
},
|
|
12278
|
+
"loanType": {
|
|
12279
|
+
"$ref": "#/components/schemas/OriginatorLoanTypeFilterValue"
|
|
12280
|
+
},
|
|
12169
12281
|
"loansWithCommunityData": {
|
|
12170
12282
|
"allOf": [
|
|
12171
12283
|
{
|
|
@@ -12223,6 +12335,9 @@
|
|
|
12223
12335
|
],
|
|
12224
12336
|
"type": "string"
|
|
12225
12337
|
},
|
|
12338
|
+
"msa": {
|
|
12339
|
+
"$ref": "#/components/schemas/BranchMsaFilterValue"
|
|
12340
|
+
},
|
|
12226
12341
|
"name": {
|
|
12227
12342
|
"allOf": [
|
|
12228
12343
|
{
|
|
@@ -12230,10 +12345,15 @@
|
|
|
12230
12345
|
},
|
|
12231
12346
|
{
|
|
12232
12347
|
"deprecated": true,
|
|
12233
|
-
"description": "DEPRECATED — matches the branch's FULL name exactly (e.g. `Movement Mortgage, LLC, Providence, RI Branch`); a partial name will not match.
|
|
12348
|
+
"description": "DEPRECATED — matches the branch's FULL name exactly (e.g. `Movement Mortgage, LLC, Providence, RI Branch`); a partial name will not match. Use `namePrefix` for partial names, or `nmlsId` (exact branch NMLS id)."
|
|
12234
12349
|
}
|
|
12235
12350
|
]
|
|
12236
12351
|
},
|
|
12352
|
+
"namePrefix": {
|
|
12353
|
+
"description": "Prefix name search: every word must start a word of the name (\"movement prov\" → Movement Mortgage, LLC, Providence, RI Branch; digits = branch NMLS id). No fuzzy/nickname matching; relevance-ranked unless `sort` is set. Max 100 chars / 6 words (emails, URLs, phones ignored), else 400.",
|
|
12354
|
+
"minLength": 1,
|
|
12355
|
+
"type": "string"
|
|
12356
|
+
},
|
|
12237
12357
|
"nmlsId": {
|
|
12238
12358
|
"$ref": "#/components/schemas/TextFilterValue"
|
|
12239
12359
|
},
|
|
@@ -12266,6 +12386,9 @@
|
|
|
12266
12386
|
"producersOnly": {
|
|
12267
12387
|
"$ref": "#/components/schemas/BooleanFilterValue"
|
|
12268
12388
|
},
|
|
12389
|
+
"region": {
|
|
12390
|
+
"$ref": "#/components/schemas/BranchRegionFilterValue"
|
|
12391
|
+
},
|
|
12269
12392
|
"rosterJoined": {
|
|
12270
12393
|
"allOf": [
|
|
12271
12394
|
{
|
|
@@ -12329,6 +12452,9 @@
|
|
|
12329
12452
|
}
|
|
12330
12453
|
]
|
|
12331
12454
|
},
|
|
12455
|
+
"transactionType": {
|
|
12456
|
+
"$ref": "#/components/schemas/OriginatorTransactionTypeFilterValue"
|
|
12457
|
+
},
|
|
12332
12458
|
"units": {
|
|
12333
12459
|
"$ref": "#/components/schemas/NumericFilterValue"
|
|
12334
12460
|
},
|
|
@@ -12377,6 +12503,9 @@
|
|
|
12377
12503
|
"advancedFilters": {
|
|
12378
12504
|
"$ref": "#/components/schemas/FilterNode"
|
|
12379
12505
|
},
|
|
12506
|
+
"crmList": {
|
|
12507
|
+
"$ref": "#/components/schemas/BranchCrmListFilter"
|
|
12508
|
+
},
|
|
12380
12509
|
"filters": {
|
|
12381
12510
|
"$ref": "#/components/schemas/FilterNode"
|
|
12382
12511
|
},
|
|
@@ -12406,10 +12535,13 @@
|
|
|
12406
12535
|
"$ref": "#/components/schemas/Period"
|
|
12407
12536
|
},
|
|
12408
12537
|
{
|
|
12409
|
-
"description": "Period for branch production metrics (default: last12Months). Applies to `volume`, `units`, `avgLoanAmount`, `rosterJoined` and
|
|
12538
|
+
"description": "Period for branch production metrics (default: last12Months). Applies to `volume`, `units`, `avgLoanAmount`, `rosterJoined`, `rosterLeft` and the loan/transaction-type mix. It does NOT apply to `teamSize`, which is a current snapshot and reads the same on every period."
|
|
12410
12539
|
}
|
|
12411
12540
|
]
|
|
12412
12541
|
},
|
|
12542
|
+
"productMix": {
|
|
12543
|
+
"$ref": "#/components/schemas/BranchProductMixFilter"
|
|
12544
|
+
},
|
|
12413
12545
|
"sort": {
|
|
12414
12546
|
"items": {
|
|
12415
12547
|
"properties": {
|
|
@@ -12426,6 +12558,9 @@
|
|
|
12426
12558
|
"type": "object"
|
|
12427
12559
|
},
|
|
12428
12560
|
"type": "array"
|
|
12561
|
+
},
|
|
12562
|
+
"transactionMix": {
|
|
12563
|
+
"$ref": "#/components/schemas/BranchTransactionMixFilter"
|
|
12429
12564
|
}
|
|
12430
12565
|
},
|
|
12431
12566
|
"type": "object"
|
|
@@ -12471,6 +12606,184 @@
|
|
|
12471
12606
|
},
|
|
12472
12607
|
"type": "object"
|
|
12473
12608
|
},
|
|
12609
|
+
"BranchMsaFilterValue": {
|
|
12610
|
+
"anyOf": [
|
|
12611
|
+
{
|
|
12612
|
+
"type": "string"
|
|
12613
|
+
},
|
|
12614
|
+
{
|
|
12615
|
+
"items": {
|
|
12616
|
+
"type": "string"
|
|
12617
|
+
},
|
|
12618
|
+
"maxItems": 50,
|
|
12619
|
+
"minItems": 1,
|
|
12620
|
+
"type": "array"
|
|
12621
|
+
},
|
|
12622
|
+
{
|
|
12623
|
+
"nullable": true
|
|
12624
|
+
}
|
|
12625
|
+
],
|
|
12626
|
+
"description": "Branch address METRO (MSA / CBSA): 5-digit CBSA code (`12420`) or metro name (`Austin Metro`); an array matches any. The address point inside any member county. Unknown/ambiguous = 400 naming candidates."
|
|
12627
|
+
},
|
|
12628
|
+
"BranchProductMixFilter": {
|
|
12629
|
+
"description": "Loan-product share / volume bands for the selected period, ANDed: `[{product:\"fha\", minShare:30}]` = FHA is at least 30% of the branch's period volume; `[{product:\"va\", volume:{gte:5000000}}]` = at least $5M of VA. `products` lets ANY of several types satisfy one entry. Whole-book figures across all markets.",
|
|
12630
|
+
"items": {
|
|
12631
|
+
"additionalProperties": false,
|
|
12632
|
+
"properties": {
|
|
12633
|
+
"basis": {
|
|
12634
|
+
"description": "`volume` (default) or `units` (loan count).",
|
|
12635
|
+
"enum": [
|
|
12636
|
+
"volume",
|
|
12637
|
+
"units"
|
|
12638
|
+
],
|
|
12639
|
+
"type": "string"
|
|
12640
|
+
},
|
|
12641
|
+
"maxShare": {
|
|
12642
|
+
"description": "Upper bound, 0–100 percent. No bucket = 0% (passes).",
|
|
12643
|
+
"maximum": 100,
|
|
12644
|
+
"minimum": 0,
|
|
12645
|
+
"type": "number"
|
|
12646
|
+
},
|
|
12647
|
+
"minShare": {
|
|
12648
|
+
"description": "Lower bound, 0–100 percent of the period book.",
|
|
12649
|
+
"maximum": 100,
|
|
12650
|
+
"minimum": 0,
|
|
12651
|
+
"type": "number"
|
|
12652
|
+
},
|
|
12653
|
+
"product": {
|
|
12654
|
+
"description": "The loan product. Send this OR `products`, not both.",
|
|
12655
|
+
"enum": [
|
|
12656
|
+
"conventional",
|
|
12657
|
+
"fha",
|
|
12658
|
+
"va",
|
|
12659
|
+
"he",
|
|
12660
|
+
"heloc",
|
|
12661
|
+
"building",
|
|
12662
|
+
"commercial",
|
|
12663
|
+
"stand_alone_refi",
|
|
12664
|
+
"closed_end",
|
|
12665
|
+
"reverse",
|
|
12666
|
+
"usda",
|
|
12667
|
+
"stand_alone_second",
|
|
12668
|
+
"aggregate",
|
|
12669
|
+
"seller_take_back",
|
|
12670
|
+
"sba_participation_trust_deed",
|
|
12671
|
+
"balloon",
|
|
12672
|
+
"opened_end",
|
|
12673
|
+
"assumption",
|
|
12674
|
+
"negative_amortization",
|
|
12675
|
+
"land_contract",
|
|
12676
|
+
"trade",
|
|
12677
|
+
"modification",
|
|
12678
|
+
"unknown"
|
|
12679
|
+
],
|
|
12680
|
+
"type": "string"
|
|
12681
|
+
},
|
|
12682
|
+
"products": {
|
|
12683
|
+
"description": "Several products, ANY of which may satisfy the bounds on its own (each type's share is read separately, never summed): `{products:[\"fha\",\"va\",\"usda\"], minShare:30}` = FHA, VA or USDA is on its own at least 30% of the book. Send this OR `product`.",
|
|
12684
|
+
"items": {
|
|
12685
|
+
"enum": [
|
|
12686
|
+
"conventional",
|
|
12687
|
+
"fha",
|
|
12688
|
+
"va",
|
|
12689
|
+
"he",
|
|
12690
|
+
"heloc",
|
|
12691
|
+
"building",
|
|
12692
|
+
"commercial",
|
|
12693
|
+
"stand_alone_refi",
|
|
12694
|
+
"closed_end",
|
|
12695
|
+
"reverse",
|
|
12696
|
+
"usda",
|
|
12697
|
+
"stand_alone_second",
|
|
12698
|
+
"aggregate",
|
|
12699
|
+
"seller_take_back",
|
|
12700
|
+
"sba_participation_trust_deed",
|
|
12701
|
+
"balloon",
|
|
12702
|
+
"opened_end",
|
|
12703
|
+
"assumption",
|
|
12704
|
+
"negative_amortization",
|
|
12705
|
+
"land_contract",
|
|
12706
|
+
"trade",
|
|
12707
|
+
"modification",
|
|
12708
|
+
"unknown"
|
|
12709
|
+
],
|
|
12710
|
+
"type": "string"
|
|
12711
|
+
},
|
|
12712
|
+
"maxItems": 10,
|
|
12713
|
+
"minItems": 1,
|
|
12714
|
+
"type": "array"
|
|
12715
|
+
},
|
|
12716
|
+
"volume": {
|
|
12717
|
+
"additionalProperties": false,
|
|
12718
|
+
"description": "Dollar volume of THIS type in the period, `{gte, lte}` — e.g. `{gte: 5000000}` = at least $5M of FHA. Evaluated inside the same type bucket as the share bounds; a branch with no loans of the type does not match.",
|
|
12719
|
+
"properties": {
|
|
12720
|
+
"gte": {
|
|
12721
|
+
"minimum": 0,
|
|
12722
|
+
"type": "number"
|
|
12723
|
+
},
|
|
12724
|
+
"lte": {
|
|
12725
|
+
"minimum": 0,
|
|
12726
|
+
"type": "number"
|
|
12727
|
+
}
|
|
12728
|
+
},
|
|
12729
|
+
"type": "object"
|
|
12730
|
+
}
|
|
12731
|
+
},
|
|
12732
|
+
"type": "object"
|
|
12733
|
+
},
|
|
12734
|
+
"maxItems": 10,
|
|
12735
|
+
"minItems": 1,
|
|
12736
|
+
"type": "array"
|
|
12737
|
+
},
|
|
12738
|
+
"BranchRegionFilterValue": {
|
|
12739
|
+
"anyOf": [
|
|
12740
|
+
{
|
|
12741
|
+
"enum": [
|
|
12742
|
+
"northeast",
|
|
12743
|
+
"northeast-division-1",
|
|
12744
|
+
"northeast-division-2",
|
|
12745
|
+
"midwest",
|
|
12746
|
+
"midwest-division-3",
|
|
12747
|
+
"midwest-division-4",
|
|
12748
|
+
"south",
|
|
12749
|
+
"south-division-5",
|
|
12750
|
+
"south-division-6",
|
|
12751
|
+
"south-division-7",
|
|
12752
|
+
"west",
|
|
12753
|
+
"west-division-8",
|
|
12754
|
+
"west-division-9"
|
|
12755
|
+
],
|
|
12756
|
+
"type": "string"
|
|
12757
|
+
},
|
|
12758
|
+
{
|
|
12759
|
+
"items": {
|
|
12760
|
+
"enum": [
|
|
12761
|
+
"northeast",
|
|
12762
|
+
"northeast-division-1",
|
|
12763
|
+
"northeast-division-2",
|
|
12764
|
+
"midwest",
|
|
12765
|
+
"midwest-division-3",
|
|
12766
|
+
"midwest-division-4",
|
|
12767
|
+
"south",
|
|
12768
|
+
"south-division-5",
|
|
12769
|
+
"south-division-6",
|
|
12770
|
+
"south-division-7",
|
|
12771
|
+
"west",
|
|
12772
|
+
"west-division-8",
|
|
12773
|
+
"west-division-9"
|
|
12774
|
+
],
|
|
12775
|
+
"type": "string"
|
|
12776
|
+
},
|
|
12777
|
+
"maxItems": 50,
|
|
12778
|
+
"minItems": 1,
|
|
12779
|
+
"type": "array"
|
|
12780
|
+
},
|
|
12781
|
+
{
|
|
12782
|
+
"nullable": true
|
|
12783
|
+
}
|
|
12784
|
+
],
|
|
12785
|
+
"description": "Branch address CENSUS REGION / DIVISION (`<region>-division-<n>`, 1–9) — branches in ANY state of it. An array matches any."
|
|
12786
|
+
},
|
|
12474
12787
|
"BranchRosterContact": {
|
|
12475
12788
|
"nullable": true,
|
|
12476
12789
|
"properties": {
|
|
@@ -12823,10 +13136,20 @@
|
|
|
12823
13136
|
"nullable": true,
|
|
12824
13137
|
"type": "number"
|
|
12825
13138
|
},
|
|
13139
|
+
"purchaseShare": {
|
|
13140
|
+
"description": "Purchase share (0–100) of the period's loan COUNT — what `sort: purchaseShare` orders by. `null` = none (sorts as 0).",
|
|
13141
|
+
"nullable": true,
|
|
13142
|
+
"type": "number"
|
|
13143
|
+
},
|
|
12826
13144
|
"refinancePct": {
|
|
12827
13145
|
"nullable": true,
|
|
12828
13146
|
"type": "number"
|
|
12829
13147
|
},
|
|
13148
|
+
"refinanceShare": {
|
|
13149
|
+
"description": "Refinance share (0–100) of the period's loan COUNT — what `sort: refinanceShare` orders by. `null` = none (sorts as 0).",
|
|
13150
|
+
"nullable": true,
|
|
13151
|
+
"type": "number"
|
|
13152
|
+
},
|
|
12830
13153
|
"rosterCount": {
|
|
12831
13154
|
"description": "Loan officers on this branch's CURRENT licensing roster: registered to this branch location AND holding an active sponsorship or registration. A current snapshot (refreshed weekly), not period-scoped. Null when the roster is not on file. List rows also carry manager NAMES from the same lookup. See POST /v1/branches/{nmlsId}/roster for the people.",
|
|
12832
13155
|
"nullable": true,
|
|
@@ -13509,6 +13832,66 @@
|
|
|
13509
13832
|
],
|
|
13510
13833
|
"type": "object"
|
|
13511
13834
|
},
|
|
13835
|
+
"BranchTransactionMixFilter": {
|
|
13836
|
+
"description": "Transaction-type share bands for the selected period, ANDed: `[{transactionType:\"purchase\", minShare:60}]` = purchases are at least 60% of the branch's period volume.",
|
|
13837
|
+
"items": {
|
|
13838
|
+
"additionalProperties": false,
|
|
13839
|
+
"properties": {
|
|
13840
|
+
"basis": {
|
|
13841
|
+
"description": "`volume` (default) or `units` (loan count).",
|
|
13842
|
+
"enum": [
|
|
13843
|
+
"volume",
|
|
13844
|
+
"units"
|
|
13845
|
+
],
|
|
13846
|
+
"type": "string"
|
|
13847
|
+
},
|
|
13848
|
+
"maxShare": {
|
|
13849
|
+
"description": "Upper bound, 0–100 percent. No bucket = 0% (passes).",
|
|
13850
|
+
"maximum": 100,
|
|
13851
|
+
"minimum": 0,
|
|
13852
|
+
"type": "number"
|
|
13853
|
+
},
|
|
13854
|
+
"minShare": {
|
|
13855
|
+
"description": "Lower bound, 0–100 percent of the period book.",
|
|
13856
|
+
"maximum": 100,
|
|
13857
|
+
"minimum": 0,
|
|
13858
|
+
"type": "number"
|
|
13859
|
+
},
|
|
13860
|
+
"transactionType": {
|
|
13861
|
+
"enum": [
|
|
13862
|
+
"purchase",
|
|
13863
|
+
"refinance",
|
|
13864
|
+
"construction",
|
|
13865
|
+
"equity",
|
|
13866
|
+
"UNKNOWN"
|
|
13867
|
+
],
|
|
13868
|
+
"type": "string"
|
|
13869
|
+
},
|
|
13870
|
+
"volume": {
|
|
13871
|
+
"additionalProperties": false,
|
|
13872
|
+
"description": "Dollar volume of THIS type in the period, `{gte, lte}` — e.g. `{gte: 5000000}` = at least $5M of FHA. Evaluated inside the same type bucket as the share bounds; a branch with no loans of the type does not match.",
|
|
13873
|
+
"properties": {
|
|
13874
|
+
"gte": {
|
|
13875
|
+
"minimum": 0,
|
|
13876
|
+
"type": "number"
|
|
13877
|
+
},
|
|
13878
|
+
"lte": {
|
|
13879
|
+
"minimum": 0,
|
|
13880
|
+
"type": "number"
|
|
13881
|
+
}
|
|
13882
|
+
},
|
|
13883
|
+
"type": "object"
|
|
13884
|
+
}
|
|
13885
|
+
},
|
|
13886
|
+
"required": [
|
|
13887
|
+
"transactionType"
|
|
13888
|
+
],
|
|
13889
|
+
"type": "object"
|
|
13890
|
+
},
|
|
13891
|
+
"maxItems": 10,
|
|
13892
|
+
"minItems": 1,
|
|
13893
|
+
"type": "array"
|
|
13894
|
+
},
|
|
13512
13895
|
"BreakdownItem": {
|
|
13513
13896
|
"properties": {
|
|
13514
13897
|
"company": {
|
|
@@ -15686,7 +16069,7 @@
|
|
|
15686
16069
|
"description": "Which lists: `\"any\"` for every Company list the caller can see, or an array of list ids. Membership is the UNION across the selected lists."
|
|
15687
16070
|
},
|
|
15688
16071
|
"mode": {
|
|
15689
|
-
"description": "`in` — only companies who are a member of the selected list(s). `notIn` — exclude every
|
|
16072
|
+
"description": "`in` — only companies who are a member of the selected list(s). `notIn` — exclude every company who is a member of the selected list(s); everyone else passes, including companies on none of your lists.",
|
|
15690
16073
|
"enum": [
|
|
15691
16074
|
"in",
|
|
15692
16075
|
"notIn"
|
|
@@ -29273,14 +29656,44 @@
|
|
|
29273
29656
|
"nullable": true,
|
|
29274
29657
|
"type": "string"
|
|
29275
29658
|
},
|
|
29659
|
+
"brokerName": {
|
|
29660
|
+
"description": "Mortgage broker as written on the loan document, when third-party originated.",
|
|
29661
|
+
"nullable": true,
|
|
29662
|
+
"type": "string"
|
|
29663
|
+
},
|
|
29276
29664
|
"brokerNmlsId": {
|
|
29277
29665
|
"nullable": true,
|
|
29278
29666
|
"type": "string"
|
|
29279
29667
|
},
|
|
29668
|
+
"buyer1FirstMiddle": {
|
|
29669
|
+
"description": "First buyer's first + middle name (an entity's whole name, with no last).",
|
|
29670
|
+
"nullable": true,
|
|
29671
|
+
"type": "string"
|
|
29672
|
+
},
|
|
29673
|
+
"buyer1Last": {
|
|
29674
|
+
"description": "First buyer's last name.",
|
|
29675
|
+
"nullable": true,
|
|
29676
|
+
"type": "string"
|
|
29677
|
+
},
|
|
29678
|
+
"buyer2FirstMiddle": {
|
|
29679
|
+
"description": "Second buyer's first + middle name.",
|
|
29680
|
+
"nullable": true,
|
|
29681
|
+
"type": "string"
|
|
29682
|
+
},
|
|
29683
|
+
"buyer2Last": {
|
|
29684
|
+
"description": "Second buyer's last name.",
|
|
29685
|
+
"nullable": true,
|
|
29686
|
+
"type": "string"
|
|
29687
|
+
},
|
|
29280
29688
|
"city": {
|
|
29281
29689
|
"nullable": true,
|
|
29282
29690
|
"type": "string"
|
|
29283
29691
|
},
|
|
29692
|
+
"coListAgentName": {
|
|
29693
|
+
"description": "Co-listing agent, as the MLS recorded the name.",
|
|
29694
|
+
"nullable": true,
|
|
29695
|
+
"type": "string"
|
|
29696
|
+
},
|
|
29284
29697
|
"companyName": {
|
|
29285
29698
|
"nullable": true,
|
|
29286
29699
|
"type": "string"
|
|
@@ -29309,6 +29722,16 @@
|
|
|
29309
29722
|
],
|
|
29310
29723
|
"type": "object"
|
|
29311
29724
|
},
|
|
29725
|
+
"employerName": {
|
|
29726
|
+
"description": "Employer at the time of the loan (the LO's company then), as recorded. Not `companyName`, the funding company on the document.",
|
|
29727
|
+
"nullable": true,
|
|
29728
|
+
"type": "string"
|
|
29729
|
+
},
|
|
29730
|
+
"employerNmlsId": {
|
|
29731
|
+
"description": "NMLS id of `employerName`.",
|
|
29732
|
+
"nullable": true,
|
|
29733
|
+
"type": "string"
|
|
29734
|
+
},
|
|
29312
29735
|
"fips": {
|
|
29313
29736
|
"nullable": true,
|
|
29314
29737
|
"type": "string"
|
|
@@ -29324,6 +29747,11 @@
|
|
|
29324
29747
|
"nullable": true,
|
|
29325
29748
|
"type": "string"
|
|
29326
29749
|
},
|
|
29750
|
+
"listAgentName": {
|
|
29751
|
+
"description": "Listing agent, as the MLS recorded the name.",
|
|
29752
|
+
"nullable": true,
|
|
29753
|
+
"type": "string"
|
|
29754
|
+
},
|
|
29327
29755
|
"listPrice": {
|
|
29328
29756
|
"nullable": true,
|
|
29329
29757
|
"type": "number"
|
|
@@ -29362,10 +29790,35 @@
|
|
|
29362
29790
|
"nullable": true,
|
|
29363
29791
|
"type": "number"
|
|
29364
29792
|
},
|
|
29793
|
+
"seller1FirstMiddle": {
|
|
29794
|
+
"description": "First seller's first + middle name.",
|
|
29795
|
+
"nullable": true,
|
|
29796
|
+
"type": "string"
|
|
29797
|
+
},
|
|
29798
|
+
"seller1Last": {
|
|
29799
|
+
"description": "First seller's last name.",
|
|
29800
|
+
"nullable": true,
|
|
29801
|
+
"type": "string"
|
|
29802
|
+
},
|
|
29803
|
+
"seller2FirstMiddle": {
|
|
29804
|
+
"description": "Second seller's first + middle name.",
|
|
29805
|
+
"nullable": true,
|
|
29806
|
+
"type": "string"
|
|
29807
|
+
},
|
|
29808
|
+
"seller2Last": {
|
|
29809
|
+
"description": "Second seller's last name.",
|
|
29810
|
+
"nullable": true,
|
|
29811
|
+
"type": "string"
|
|
29812
|
+
},
|
|
29365
29813
|
"sellerName": {
|
|
29366
29814
|
"nullable": true,
|
|
29367
29815
|
"type": "string"
|
|
29368
29816
|
},
|
|
29817
|
+
"soldAgentName": {
|
|
29818
|
+
"description": "Buyer's agent, as the MLS recorded the name.",
|
|
29819
|
+
"nullable": true,
|
|
29820
|
+
"type": "string"
|
|
29821
|
+
},
|
|
29369
29822
|
"state": {
|
|
29370
29823
|
"nullable": true,
|
|
29371
29824
|
"type": "string"
|
|
@@ -29374,6 +29827,11 @@
|
|
|
29374
29827
|
"nullable": true,
|
|
29375
29828
|
"type": "string"
|
|
29376
29829
|
},
|
|
29830
|
+
"titleCompanyName": {
|
|
29831
|
+
"description": "Title company name.",
|
|
29832
|
+
"nullable": true,
|
|
29833
|
+
"type": "string"
|
|
29834
|
+
},
|
|
29377
29835
|
"transactionDate": {
|
|
29378
29836
|
"nullable": true,
|
|
29379
29837
|
"type": "string"
|
|
@@ -42973,7 +43431,7 @@
|
|
|
42973
43431
|
"info": {
|
|
42974
43432
|
"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.",
|
|
42975
43433
|
"title": "ModelMatch API",
|
|
42976
|
-
"version": "3.
|
|
43434
|
+
"version": "3.85.0"
|
|
42977
43435
|
},
|
|
42978
43436
|
"openapi": "3.1.0",
|
|
42979
43437
|
"paths": {
|
|
@@ -43605,7 +44063,7 @@
|
|
|
43605
44063
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
43606
44064
|
},
|
|
43607
44065
|
"fields": {
|
|
43608
|
-
"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. 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.",
|
|
44066
|
+
"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.",
|
|
43609
44067
|
"items": {
|
|
43610
44068
|
"minLength": 1,
|
|
43611
44069
|
"type": "string"
|
|
@@ -48659,7 +49117,7 @@
|
|
|
48659
49117
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
48660
49118
|
},
|
|
48661
49119
|
"fields": {
|
|
48662
|
-
"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. 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.",
|
|
49120
|
+
"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.",
|
|
48663
49121
|
"items": {
|
|
48664
49122
|
"minLength": 1,
|
|
48665
49123
|
"type": "string"
|
|
@@ -50172,7 +50630,7 @@
|
|
|
50172
50630
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
50173
50631
|
},
|
|
50174
50632
|
"fields": {
|
|
50175
|
-
"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. 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.",
|
|
50633
|
+
"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.",
|
|
50176
50634
|
"items": {
|
|
50177
50635
|
"minLength": 1,
|
|
50178
50636
|
"type": "string"
|
|
@@ -66114,7 +66572,7 @@
|
|
|
66114
66572
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
66115
66573
|
},
|
|
66116
66574
|
"fields": {
|
|
66117
|
-
"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. 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.",
|
|
66575
|
+
"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.",
|
|
66118
66576
|
"items": {
|
|
66119
66577
|
"minLength": 1,
|
|
66120
66578
|
"type": "string"
|
|
@@ -69776,7 +70234,7 @@
|
|
|
69776
70234
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
69777
70235
|
},
|
|
69778
70236
|
"fields": {
|
|
69779
|
-
"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. 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.",
|
|
70237
|
+
"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.",
|
|
69780
70238
|
"items": {
|
|
69781
70239
|
"minLength": 1,
|
|
69782
70240
|
"type": "string"
|
|
@@ -71877,7 +72335,7 @@
|
|
|
71877
72335
|
"$ref": "#/components/schemas/BulkDeliveryDestination"
|
|
71878
72336
|
},
|
|
71879
72337
|
"fields": {
|
|
71880
|
-
"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. 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.",
|
|
72338
|
+
"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.",
|
|
71881
72339
|
"items": {
|
|
71882
72340
|
"minLength": 1,
|
|
71883
72341
|
"type": "string"
|