@model-match/api 3.42.1 → 3.43.1
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-CR2WCBWG.d.mts → index-DUtNkw4G.d.mts} +315 -4
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/slim/index.d.mts +10 -5
- package/dist/slim/index.mjs +26 -5
- package/dist/{src-DFNqqcUl.mjs → src-B8pbncWy.mjs} +24 -3
- package/openapi.json +1351 -272
- package/package.json +1 -1
package/openapi.json
CHANGED
|
@@ -39542,6 +39542,982 @@
|
|
|
39542
39542
|
},
|
|
39543
39543
|
"type": "object"
|
|
39544
39544
|
},
|
|
39545
|
+
"OriginatorRetention": {
|
|
39546
|
+
"properties": {
|
|
39547
|
+
"atRisk": {
|
|
39548
|
+
"description": "Exit signals on the retained book; null when not requested or the scan could not complete.",
|
|
39549
|
+
"nullable": true,
|
|
39550
|
+
"properties": {
|
|
39551
|
+
"equityBands": {
|
|
39552
|
+
"items": {
|
|
39553
|
+
"properties": {
|
|
39554
|
+
"band": {
|
|
39555
|
+
"type": "string"
|
|
39556
|
+
},
|
|
39557
|
+
"count": {
|
|
39558
|
+
"type": "number"
|
|
39559
|
+
}
|
|
39560
|
+
},
|
|
39561
|
+
"required": [
|
|
39562
|
+
"band",
|
|
39563
|
+
"count"
|
|
39564
|
+
],
|
|
39565
|
+
"type": "object"
|
|
39566
|
+
},
|
|
39567
|
+
"type": "array"
|
|
39568
|
+
},
|
|
39569
|
+
"highEquityLowRate": {
|
|
39570
|
+
"type": "number"
|
|
39571
|
+
},
|
|
39572
|
+
"joined": {
|
|
39573
|
+
"type": "number"
|
|
39574
|
+
},
|
|
39575
|
+
"likelyToSell": {
|
|
39576
|
+
"type": "number"
|
|
39577
|
+
},
|
|
39578
|
+
"listedNow": {
|
|
39579
|
+
"type": "number"
|
|
39580
|
+
},
|
|
39581
|
+
"medianEquityPct": {
|
|
39582
|
+
"nullable": true,
|
|
39583
|
+
"type": "number"
|
|
39584
|
+
},
|
|
39585
|
+
"medianRate": {
|
|
39586
|
+
"nullable": true,
|
|
39587
|
+
"type": "number"
|
|
39588
|
+
},
|
|
39589
|
+
"rateIncentive": {
|
|
39590
|
+
"type": "number"
|
|
39591
|
+
},
|
|
39592
|
+
"retainedScanned": {
|
|
39593
|
+
"type": "number"
|
|
39594
|
+
},
|
|
39595
|
+
"rows": {
|
|
39596
|
+
"items": {
|
|
39597
|
+
"properties": {
|
|
39598
|
+
"address": {
|
|
39599
|
+
"type": "string"
|
|
39600
|
+
},
|
|
39601
|
+
"borrower": {
|
|
39602
|
+
"type": "string"
|
|
39603
|
+
},
|
|
39604
|
+
"currentBalance": {
|
|
39605
|
+
"nullable": true,
|
|
39606
|
+
"type": "number"
|
|
39607
|
+
},
|
|
39608
|
+
"currentLender": {
|
|
39609
|
+
"nullable": true,
|
|
39610
|
+
"type": "string"
|
|
39611
|
+
},
|
|
39612
|
+
"currentRate": {
|
|
39613
|
+
"nullable": true,
|
|
39614
|
+
"type": "number"
|
|
39615
|
+
},
|
|
39616
|
+
"equityPct": {
|
|
39617
|
+
"nullable": true,
|
|
39618
|
+
"type": "number"
|
|
39619
|
+
},
|
|
39620
|
+
"flags": {
|
|
39621
|
+
"items": {
|
|
39622
|
+
"enum": [
|
|
39623
|
+
"listed",
|
|
39624
|
+
"likely_sell",
|
|
39625
|
+
"rate"
|
|
39626
|
+
],
|
|
39627
|
+
"type": "string"
|
|
39628
|
+
},
|
|
39629
|
+
"type": "array"
|
|
39630
|
+
},
|
|
39631
|
+
"homeValue": {
|
|
39632
|
+
"nullable": true,
|
|
39633
|
+
"type": "number"
|
|
39634
|
+
},
|
|
39635
|
+
"listPrice": {
|
|
39636
|
+
"nullable": true,
|
|
39637
|
+
"type": "number"
|
|
39638
|
+
},
|
|
39639
|
+
"listedDate": {
|
|
39640
|
+
"nullable": true,
|
|
39641
|
+
"type": "number"
|
|
39642
|
+
},
|
|
39643
|
+
"listingStatus": {
|
|
39644
|
+
"nullable": true,
|
|
39645
|
+
"type": "string"
|
|
39646
|
+
},
|
|
39647
|
+
"originalAmount": {
|
|
39648
|
+
"type": "number"
|
|
39649
|
+
},
|
|
39650
|
+
"originalLoanDate": {
|
|
39651
|
+
"type": "number"
|
|
39652
|
+
},
|
|
39653
|
+
"originalLoanType": {
|
|
39654
|
+
"type": "string"
|
|
39655
|
+
},
|
|
39656
|
+
"propensityCategory": {
|
|
39657
|
+
"nullable": true,
|
|
39658
|
+
"type": "string"
|
|
39659
|
+
},
|
|
39660
|
+
"propertyId": {
|
|
39661
|
+
"type": "string"
|
|
39662
|
+
},
|
|
39663
|
+
"salePropensity": {
|
|
39664
|
+
"nullable": true,
|
|
39665
|
+
"type": "number"
|
|
39666
|
+
}
|
|
39667
|
+
},
|
|
39668
|
+
"required": [
|
|
39669
|
+
"propertyId",
|
|
39670
|
+
"flags",
|
|
39671
|
+
"equityPct",
|
|
39672
|
+
"homeValue",
|
|
39673
|
+
"currentBalance",
|
|
39674
|
+
"currentRate",
|
|
39675
|
+
"currentLender",
|
|
39676
|
+
"salePropensity",
|
|
39677
|
+
"propensityCategory",
|
|
39678
|
+
"listingStatus",
|
|
39679
|
+
"listPrice",
|
|
39680
|
+
"listedDate",
|
|
39681
|
+
"address",
|
|
39682
|
+
"borrower",
|
|
39683
|
+
"originalLoanDate",
|
|
39684
|
+
"originalAmount",
|
|
39685
|
+
"originalLoanType"
|
|
39686
|
+
],
|
|
39687
|
+
"type": "object"
|
|
39688
|
+
},
|
|
39689
|
+
"type": "array"
|
|
39690
|
+
},
|
|
39691
|
+
"signalling": {
|
|
39692
|
+
"type": "number"
|
|
39693
|
+
}
|
|
39694
|
+
},
|
|
39695
|
+
"required": [
|
|
39696
|
+
"retainedScanned",
|
|
39697
|
+
"joined",
|
|
39698
|
+
"signalling",
|
|
39699
|
+
"listedNow",
|
|
39700
|
+
"likelyToSell",
|
|
39701
|
+
"rateIncentive",
|
|
39702
|
+
"highEquityLowRate",
|
|
39703
|
+
"equityBands",
|
|
39704
|
+
"medianRate",
|
|
39705
|
+
"medianEquityPct",
|
|
39706
|
+
"rows"
|
|
39707
|
+
],
|
|
39708
|
+
"type": "object"
|
|
39709
|
+
},
|
|
39710
|
+
"capturingCompanies": {
|
|
39711
|
+
"items": {
|
|
39712
|
+
"properties": {
|
|
39713
|
+
"count": {
|
|
39714
|
+
"type": "number"
|
|
39715
|
+
},
|
|
39716
|
+
"lane": {
|
|
39717
|
+
"enum": [
|
|
39718
|
+
"own_company",
|
|
39719
|
+
"servicer",
|
|
39720
|
+
"competitor"
|
|
39721
|
+
],
|
|
39722
|
+
"type": "string"
|
|
39723
|
+
},
|
|
39724
|
+
"name": {
|
|
39725
|
+
"type": "string"
|
|
39726
|
+
},
|
|
39727
|
+
"nmlsId": {
|
|
39728
|
+
"type": "string"
|
|
39729
|
+
},
|
|
39730
|
+
"volume": {
|
|
39731
|
+
"type": "number"
|
|
39732
|
+
}
|
|
39733
|
+
},
|
|
39734
|
+
"required": [
|
|
39735
|
+
"nmlsId",
|
|
39736
|
+
"name",
|
|
39737
|
+
"count",
|
|
39738
|
+
"volume",
|
|
39739
|
+
"lane"
|
|
39740
|
+
],
|
|
39741
|
+
"type": "object"
|
|
39742
|
+
},
|
|
39743
|
+
"type": "array"
|
|
39744
|
+
},
|
|
39745
|
+
"capturingOriginators": {
|
|
39746
|
+
"items": {
|
|
39747
|
+
"properties": {
|
|
39748
|
+
"companyName": {
|
|
39749
|
+
"type": "string"
|
|
39750
|
+
},
|
|
39751
|
+
"count": {
|
|
39752
|
+
"type": "number"
|
|
39753
|
+
},
|
|
39754
|
+
"name": {
|
|
39755
|
+
"type": "string"
|
|
39756
|
+
},
|
|
39757
|
+
"nmlsId": {
|
|
39758
|
+
"type": "string"
|
|
39759
|
+
},
|
|
39760
|
+
"volume": {
|
|
39761
|
+
"type": "number"
|
|
39762
|
+
}
|
|
39763
|
+
},
|
|
39764
|
+
"required": [
|
|
39765
|
+
"nmlsId",
|
|
39766
|
+
"name",
|
|
39767
|
+
"companyName",
|
|
39768
|
+
"count",
|
|
39769
|
+
"volume"
|
|
39770
|
+
],
|
|
39771
|
+
"type": "object"
|
|
39772
|
+
},
|
|
39773
|
+
"type": "array"
|
|
39774
|
+
},
|
|
39775
|
+
"capturingTotals": {
|
|
39776
|
+
"properties": {
|
|
39777
|
+
"companies": {
|
|
39778
|
+
"properties": {
|
|
39779
|
+
"distinct": {
|
|
39780
|
+
"type": "number"
|
|
39781
|
+
},
|
|
39782
|
+
"loans": {
|
|
39783
|
+
"type": "number"
|
|
39784
|
+
},
|
|
39785
|
+
"volume": {
|
|
39786
|
+
"type": "number"
|
|
39787
|
+
}
|
|
39788
|
+
},
|
|
39789
|
+
"required": [
|
|
39790
|
+
"distinct",
|
|
39791
|
+
"loans",
|
|
39792
|
+
"volume"
|
|
39793
|
+
],
|
|
39794
|
+
"type": "object"
|
|
39795
|
+
},
|
|
39796
|
+
"originators": {
|
|
39797
|
+
"properties": {
|
|
39798
|
+
"distinct": {
|
|
39799
|
+
"type": "number"
|
|
39800
|
+
},
|
|
39801
|
+
"loans": {
|
|
39802
|
+
"type": "number"
|
|
39803
|
+
},
|
|
39804
|
+
"unattributedLoans": {
|
|
39805
|
+
"type": "number"
|
|
39806
|
+
},
|
|
39807
|
+
"volume": {
|
|
39808
|
+
"type": "number"
|
|
39809
|
+
}
|
|
39810
|
+
},
|
|
39811
|
+
"required": [
|
|
39812
|
+
"distinct",
|
|
39813
|
+
"loans",
|
|
39814
|
+
"volume",
|
|
39815
|
+
"unattributedLoans"
|
|
39816
|
+
],
|
|
39817
|
+
"type": "object"
|
|
39818
|
+
},
|
|
39819
|
+
"secondCompanies": {
|
|
39820
|
+
"properties": {
|
|
39821
|
+
"distinct": {
|
|
39822
|
+
"type": "number"
|
|
39823
|
+
},
|
|
39824
|
+
"loans": {
|
|
39825
|
+
"type": "number"
|
|
39826
|
+
},
|
|
39827
|
+
"volume": {
|
|
39828
|
+
"type": "number"
|
|
39829
|
+
}
|
|
39830
|
+
},
|
|
39831
|
+
"required": [
|
|
39832
|
+
"distinct",
|
|
39833
|
+
"loans",
|
|
39834
|
+
"volume"
|
|
39835
|
+
],
|
|
39836
|
+
"type": "object"
|
|
39837
|
+
}
|
|
39838
|
+
},
|
|
39839
|
+
"required": [
|
|
39840
|
+
"companies",
|
|
39841
|
+
"originators",
|
|
39842
|
+
"secondCompanies"
|
|
39843
|
+
],
|
|
39844
|
+
"type": "object"
|
|
39845
|
+
},
|
|
39846
|
+
"churnByLoanType": {
|
|
39847
|
+
"items": {
|
|
39848
|
+
"properties": {
|
|
39849
|
+
"count": {
|
|
39850
|
+
"type": "number"
|
|
39851
|
+
},
|
|
39852
|
+
"type": {
|
|
39853
|
+
"type": "string"
|
|
39854
|
+
},
|
|
39855
|
+
"volume": {
|
|
39856
|
+
"type": "number"
|
|
39857
|
+
}
|
|
39858
|
+
},
|
|
39859
|
+
"required": [
|
|
39860
|
+
"type",
|
|
39861
|
+
"count",
|
|
39862
|
+
"volume"
|
|
39863
|
+
],
|
|
39864
|
+
"type": "object"
|
|
39865
|
+
},
|
|
39866
|
+
"type": "array"
|
|
39867
|
+
},
|
|
39868
|
+
"churnTrend": {
|
|
39869
|
+
"items": {
|
|
39870
|
+
"properties": {
|
|
39871
|
+
"churned": {
|
|
39872
|
+
"type": "number"
|
|
39873
|
+
},
|
|
39874
|
+
"kept": {
|
|
39875
|
+
"type": "number"
|
|
39876
|
+
},
|
|
39877
|
+
"month": {
|
|
39878
|
+
"type": "string"
|
|
39879
|
+
},
|
|
39880
|
+
"retained": {
|
|
39881
|
+
"type": "number"
|
|
39882
|
+
},
|
|
39883
|
+
"secondPositions": {
|
|
39884
|
+
"type": "number"
|
|
39885
|
+
}
|
|
39886
|
+
},
|
|
39887
|
+
"required": [
|
|
39888
|
+
"month",
|
|
39889
|
+
"churned",
|
|
39890
|
+
"retained",
|
|
39891
|
+
"secondPositions",
|
|
39892
|
+
"kept"
|
|
39893
|
+
],
|
|
39894
|
+
"type": "object"
|
|
39895
|
+
},
|
|
39896
|
+
"type": "array"
|
|
39897
|
+
},
|
|
39898
|
+
"churnedLoans": {
|
|
39899
|
+
"items": {
|
|
39900
|
+
"properties": {
|
|
39901
|
+
"address": {
|
|
39902
|
+
"type": "string"
|
|
39903
|
+
},
|
|
39904
|
+
"borrower": {
|
|
39905
|
+
"type": "string"
|
|
39906
|
+
},
|
|
39907
|
+
"capturingAmount": {
|
|
39908
|
+
"type": "number"
|
|
39909
|
+
},
|
|
39910
|
+
"capturingCompany": {
|
|
39911
|
+
"type": "string"
|
|
39912
|
+
},
|
|
39913
|
+
"capturingCompanyNmlsId": {
|
|
39914
|
+
"type": "string"
|
|
39915
|
+
},
|
|
39916
|
+
"capturingLender": {
|
|
39917
|
+
"type": "string"
|
|
39918
|
+
},
|
|
39919
|
+
"capturingLoName": {
|
|
39920
|
+
"type": "string"
|
|
39921
|
+
},
|
|
39922
|
+
"capturingLoNmlsId": {
|
|
39923
|
+
"type": "string"
|
|
39924
|
+
},
|
|
39925
|
+
"capturingLoanType": {
|
|
39926
|
+
"type": "string"
|
|
39927
|
+
},
|
|
39928
|
+
"capturingRate": {
|
|
39929
|
+
"nullable": true,
|
|
39930
|
+
"type": "number"
|
|
39931
|
+
},
|
|
39932
|
+
"cashOut": {
|
|
39933
|
+
"type": "boolean"
|
|
39934
|
+
},
|
|
39935
|
+
"current": {
|
|
39936
|
+
"description": "What the parcel looks like today, when a scored snapshot newer than the event joined; null otherwise (unknown, never 'retained').",
|
|
39937
|
+
"nullable": true,
|
|
39938
|
+
"properties": {
|
|
39939
|
+
"currentBalance": {
|
|
39940
|
+
"nullable": true,
|
|
39941
|
+
"type": "number"
|
|
39942
|
+
},
|
|
39943
|
+
"currentLender": {
|
|
39944
|
+
"nullable": true,
|
|
39945
|
+
"type": "string"
|
|
39946
|
+
},
|
|
39947
|
+
"currentRate": {
|
|
39948
|
+
"nullable": true,
|
|
39949
|
+
"type": "number"
|
|
39950
|
+
},
|
|
39951
|
+
"lastSaleDate": {
|
|
39952
|
+
"nullable": true,
|
|
39953
|
+
"type": "number"
|
|
39954
|
+
},
|
|
39955
|
+
"loStillActive": {
|
|
39956
|
+
"type": "boolean"
|
|
39957
|
+
},
|
|
39958
|
+
"ownerChanged": {
|
|
39959
|
+
"nullable": true,
|
|
39960
|
+
"type": "boolean"
|
|
39961
|
+
}
|
|
39962
|
+
},
|
|
39963
|
+
"required": [
|
|
39964
|
+
"loStillActive",
|
|
39965
|
+
"ownerChanged",
|
|
39966
|
+
"lastSaleDate",
|
|
39967
|
+
"currentLender",
|
|
39968
|
+
"currentBalance",
|
|
39969
|
+
"currentRate"
|
|
39970
|
+
],
|
|
39971
|
+
"type": "object"
|
|
39972
|
+
},
|
|
39973
|
+
"daysToEvent": {
|
|
39974
|
+
"type": "number"
|
|
39975
|
+
},
|
|
39976
|
+
"eventDate": {
|
|
39977
|
+
"type": "number"
|
|
39978
|
+
},
|
|
39979
|
+
"kind": {
|
|
39980
|
+
"enum": [
|
|
39981
|
+
"refi",
|
|
39982
|
+
"second"
|
|
39983
|
+
],
|
|
39984
|
+
"type": "string"
|
|
39985
|
+
},
|
|
39986
|
+
"lane": {
|
|
39987
|
+
"enum": [
|
|
39988
|
+
"own_company",
|
|
39989
|
+
"servicer",
|
|
39990
|
+
"competitor"
|
|
39991
|
+
],
|
|
39992
|
+
"type": "string"
|
|
39993
|
+
},
|
|
39994
|
+
"originalAmount": {
|
|
39995
|
+
"type": "number"
|
|
39996
|
+
},
|
|
39997
|
+
"originalLender": {
|
|
39998
|
+
"type": "string"
|
|
39999
|
+
},
|
|
40000
|
+
"originalLoanDate": {
|
|
40001
|
+
"type": "number"
|
|
40002
|
+
},
|
|
40003
|
+
"originalLoanType": {
|
|
40004
|
+
"type": "string"
|
|
40005
|
+
},
|
|
40006
|
+
"originalRate": {
|
|
40007
|
+
"nullable": true,
|
|
40008
|
+
"type": "number"
|
|
40009
|
+
},
|
|
40010
|
+
"originalTransactionType": {
|
|
40011
|
+
"type": "string"
|
|
40012
|
+
},
|
|
40013
|
+
"propertyId": {
|
|
40014
|
+
"type": "string"
|
|
40015
|
+
},
|
|
40016
|
+
"sameBorrower": {
|
|
40017
|
+
"nullable": true,
|
|
40018
|
+
"type": "boolean"
|
|
40019
|
+
}
|
|
40020
|
+
},
|
|
40021
|
+
"required": [
|
|
40022
|
+
"kind",
|
|
40023
|
+
"lane",
|
|
40024
|
+
"propertyId",
|
|
40025
|
+
"address",
|
|
40026
|
+
"borrower",
|
|
40027
|
+
"originalLoanDate",
|
|
40028
|
+
"originalAmount",
|
|
40029
|
+
"originalLoanType",
|
|
40030
|
+
"originalTransactionType",
|
|
40031
|
+
"originalRate",
|
|
40032
|
+
"originalLender",
|
|
40033
|
+
"eventDate",
|
|
40034
|
+
"daysToEvent",
|
|
40035
|
+
"capturingAmount",
|
|
40036
|
+
"capturingLoanType",
|
|
40037
|
+
"capturingRate",
|
|
40038
|
+
"capturingLoNmlsId",
|
|
40039
|
+
"capturingLoName",
|
|
40040
|
+
"capturingCompanyNmlsId",
|
|
40041
|
+
"capturingCompany",
|
|
40042
|
+
"capturingLender",
|
|
40043
|
+
"cashOut",
|
|
40044
|
+
"sameBorrower",
|
|
40045
|
+
"current"
|
|
40046
|
+
],
|
|
40047
|
+
"type": "object"
|
|
40048
|
+
},
|
|
40049
|
+
"type": "array"
|
|
40050
|
+
},
|
|
40051
|
+
"lanes": {
|
|
40052
|
+
"properties": {
|
|
40053
|
+
"competitor": {
|
|
40054
|
+
"properties": {
|
|
40055
|
+
"count": {
|
|
40056
|
+
"type": "number"
|
|
40057
|
+
},
|
|
40058
|
+
"volume": {
|
|
40059
|
+
"type": "number"
|
|
40060
|
+
}
|
|
40061
|
+
},
|
|
40062
|
+
"required": [
|
|
40063
|
+
"count",
|
|
40064
|
+
"volume"
|
|
40065
|
+
],
|
|
40066
|
+
"type": "object"
|
|
40067
|
+
},
|
|
40068
|
+
"own_company": {
|
|
40069
|
+
"properties": {
|
|
40070
|
+
"count": {
|
|
40071
|
+
"type": "number"
|
|
40072
|
+
},
|
|
40073
|
+
"volume": {
|
|
40074
|
+
"type": "number"
|
|
40075
|
+
}
|
|
40076
|
+
},
|
|
40077
|
+
"required": [
|
|
40078
|
+
"count",
|
|
40079
|
+
"volume"
|
|
40080
|
+
],
|
|
40081
|
+
"type": "object"
|
|
40082
|
+
},
|
|
40083
|
+
"servicer": {
|
|
40084
|
+
"properties": {
|
|
40085
|
+
"count": {
|
|
40086
|
+
"type": "number"
|
|
40087
|
+
},
|
|
40088
|
+
"volume": {
|
|
40089
|
+
"type": "number"
|
|
40090
|
+
}
|
|
40091
|
+
},
|
|
40092
|
+
"required": [
|
|
40093
|
+
"count",
|
|
40094
|
+
"volume"
|
|
40095
|
+
],
|
|
40096
|
+
"type": "object"
|
|
40097
|
+
}
|
|
40098
|
+
},
|
|
40099
|
+
"required": [
|
|
40100
|
+
"own_company",
|
|
40101
|
+
"servicer",
|
|
40102
|
+
"competitor"
|
|
40103
|
+
],
|
|
40104
|
+
"type": "object"
|
|
40105
|
+
},
|
|
40106
|
+
"previous": {
|
|
40107
|
+
"description": "The `compare` period's summary and monthly trend, when asked.",
|
|
40108
|
+
"nullable": true,
|
|
40109
|
+
"properties": {
|
|
40110
|
+
"churnTrend": {
|
|
40111
|
+
"items": {
|
|
40112
|
+
"properties": {
|
|
40113
|
+
"churned": {
|
|
40114
|
+
"type": "number"
|
|
40115
|
+
},
|
|
40116
|
+
"kept": {
|
|
40117
|
+
"type": "number"
|
|
40118
|
+
},
|
|
40119
|
+
"month": {
|
|
40120
|
+
"type": "string"
|
|
40121
|
+
},
|
|
40122
|
+
"retained": {
|
|
40123
|
+
"type": "number"
|
|
40124
|
+
},
|
|
40125
|
+
"secondPositions": {
|
|
40126
|
+
"type": "number"
|
|
40127
|
+
}
|
|
40128
|
+
},
|
|
40129
|
+
"required": [
|
|
40130
|
+
"month",
|
|
40131
|
+
"churned",
|
|
40132
|
+
"retained",
|
|
40133
|
+
"secondPositions",
|
|
40134
|
+
"kept"
|
|
40135
|
+
],
|
|
40136
|
+
"type": "object"
|
|
40137
|
+
},
|
|
40138
|
+
"type": "array"
|
|
40139
|
+
},
|
|
40140
|
+
"summary": {
|
|
40141
|
+
"properties": {
|
|
40142
|
+
"churnRate": {
|
|
40143
|
+
"type": "number"
|
|
40144
|
+
},
|
|
40145
|
+
"churnedCount": {
|
|
40146
|
+
"type": "number"
|
|
40147
|
+
},
|
|
40148
|
+
"daysToRefiPairsUsed": {
|
|
40149
|
+
"type": "number"
|
|
40150
|
+
},
|
|
40151
|
+
"keptRefiCount": {
|
|
40152
|
+
"description": "Same-LO refinances of the LO's own borrowers in the period",
|
|
40153
|
+
"type": "number"
|
|
40154
|
+
},
|
|
40155
|
+
"keptRefiVolume": {
|
|
40156
|
+
"type": "number"
|
|
40157
|
+
},
|
|
40158
|
+
"keptSecondCount": {
|
|
40159
|
+
"type": "number"
|
|
40160
|
+
},
|
|
40161
|
+
"medianDaysToRefi": {
|
|
40162
|
+
"nullable": true,
|
|
40163
|
+
"type": "number"
|
|
40164
|
+
},
|
|
40165
|
+
"propertySoldCount": {
|
|
40166
|
+
"type": "number"
|
|
40167
|
+
},
|
|
40168
|
+
"refiRetentionRate": {
|
|
40169
|
+
"description": "kept ÷ (kept + churned) refi events; null with none",
|
|
40170
|
+
"nullable": true,
|
|
40171
|
+
"type": "number"
|
|
40172
|
+
},
|
|
40173
|
+
"retainedCount": {
|
|
40174
|
+
"type": "number"
|
|
40175
|
+
},
|
|
40176
|
+
"secondPositionCount": {
|
|
40177
|
+
"type": "number"
|
|
40178
|
+
},
|
|
40179
|
+
"secondPositionVolume": {
|
|
40180
|
+
"type": "number"
|
|
40181
|
+
},
|
|
40182
|
+
"totalBorrowers": {
|
|
40183
|
+
"type": "number"
|
|
40184
|
+
},
|
|
40185
|
+
"unattributedCount": {
|
|
40186
|
+
"type": "number"
|
|
40187
|
+
},
|
|
40188
|
+
"volumeLost": {
|
|
40189
|
+
"type": "number"
|
|
40190
|
+
},
|
|
40191
|
+
"volumeRetained": {
|
|
40192
|
+
"type": "number"
|
|
40193
|
+
}
|
|
40194
|
+
},
|
|
40195
|
+
"required": [
|
|
40196
|
+
"totalBorrowers",
|
|
40197
|
+
"churnedCount",
|
|
40198
|
+
"retainedCount",
|
|
40199
|
+
"propertySoldCount",
|
|
40200
|
+
"unattributedCount",
|
|
40201
|
+
"secondPositionCount",
|
|
40202
|
+
"secondPositionVolume",
|
|
40203
|
+
"keptRefiCount",
|
|
40204
|
+
"keptRefiVolume",
|
|
40205
|
+
"keptSecondCount",
|
|
40206
|
+
"refiRetentionRate",
|
|
40207
|
+
"churnRate",
|
|
40208
|
+
"volumeLost",
|
|
40209
|
+
"volumeRetained",
|
|
40210
|
+
"medianDaysToRefi",
|
|
40211
|
+
"daysToRefiPairsUsed"
|
|
40212
|
+
],
|
|
40213
|
+
"type": "object"
|
|
40214
|
+
}
|
|
40215
|
+
},
|
|
40216
|
+
"required": [
|
|
40217
|
+
"summary",
|
|
40218
|
+
"churnTrend"
|
|
40219
|
+
],
|
|
40220
|
+
"type": "object"
|
|
40221
|
+
},
|
|
40222
|
+
"secondPositionCompanies": {
|
|
40223
|
+
"items": {
|
|
40224
|
+
"properties": {
|
|
40225
|
+
"count": {
|
|
40226
|
+
"type": "number"
|
|
40227
|
+
},
|
|
40228
|
+
"lane": {
|
|
40229
|
+
"enum": [
|
|
40230
|
+
"own_company",
|
|
40231
|
+
"servicer",
|
|
40232
|
+
"competitor"
|
|
40233
|
+
],
|
|
40234
|
+
"type": "string"
|
|
40235
|
+
},
|
|
40236
|
+
"name": {
|
|
40237
|
+
"type": "string"
|
|
40238
|
+
},
|
|
40239
|
+
"nmlsId": {
|
|
40240
|
+
"type": "string"
|
|
40241
|
+
},
|
|
40242
|
+
"volume": {
|
|
40243
|
+
"type": "number"
|
|
40244
|
+
}
|
|
40245
|
+
},
|
|
40246
|
+
"required": [
|
|
40247
|
+
"nmlsId",
|
|
40248
|
+
"name",
|
|
40249
|
+
"count",
|
|
40250
|
+
"volume",
|
|
40251
|
+
"lane"
|
|
40252
|
+
],
|
|
40253
|
+
"type": "object"
|
|
40254
|
+
},
|
|
40255
|
+
"type": "array"
|
|
40256
|
+
},
|
|
40257
|
+
"secondPositionLanes": {
|
|
40258
|
+
"properties": {
|
|
40259
|
+
"competitor": {
|
|
40260
|
+
"properties": {
|
|
40261
|
+
"count": {
|
|
40262
|
+
"type": "number"
|
|
40263
|
+
},
|
|
40264
|
+
"volume": {
|
|
40265
|
+
"type": "number"
|
|
40266
|
+
}
|
|
40267
|
+
},
|
|
40268
|
+
"required": [
|
|
40269
|
+
"count",
|
|
40270
|
+
"volume"
|
|
40271
|
+
],
|
|
40272
|
+
"type": "object"
|
|
40273
|
+
},
|
|
40274
|
+
"own_company": {
|
|
40275
|
+
"properties": {
|
|
40276
|
+
"count": {
|
|
40277
|
+
"type": "number"
|
|
40278
|
+
},
|
|
40279
|
+
"volume": {
|
|
40280
|
+
"type": "number"
|
|
40281
|
+
}
|
|
40282
|
+
},
|
|
40283
|
+
"required": [
|
|
40284
|
+
"count",
|
|
40285
|
+
"volume"
|
|
40286
|
+
],
|
|
40287
|
+
"type": "object"
|
|
40288
|
+
},
|
|
40289
|
+
"servicer": {
|
|
40290
|
+
"properties": {
|
|
40291
|
+
"count": {
|
|
40292
|
+
"type": "number"
|
|
40293
|
+
},
|
|
40294
|
+
"volume": {
|
|
40295
|
+
"type": "number"
|
|
40296
|
+
}
|
|
40297
|
+
},
|
|
40298
|
+
"required": [
|
|
40299
|
+
"count",
|
|
40300
|
+
"volume"
|
|
40301
|
+
],
|
|
40302
|
+
"type": "object"
|
|
40303
|
+
}
|
|
40304
|
+
},
|
|
40305
|
+
"required": [
|
|
40306
|
+
"own_company",
|
|
40307
|
+
"servicer",
|
|
40308
|
+
"competitor"
|
|
40309
|
+
],
|
|
40310
|
+
"type": "object"
|
|
40311
|
+
},
|
|
40312
|
+
"status": {
|
|
40313
|
+
"description": "`timeout` when the LO's loan history could not be read within the time budget (very large book): every count is then 0 and means 'not available', not 'none'.",
|
|
40314
|
+
"enum": [
|
|
40315
|
+
"ok",
|
|
40316
|
+
"timeout"
|
|
40317
|
+
],
|
|
40318
|
+
"type": "string"
|
|
40319
|
+
},
|
|
40320
|
+
"summary": {
|
|
40321
|
+
"properties": {
|
|
40322
|
+
"churnRate": {
|
|
40323
|
+
"type": "number"
|
|
40324
|
+
},
|
|
40325
|
+
"churnedCount": {
|
|
40326
|
+
"type": "number"
|
|
40327
|
+
},
|
|
40328
|
+
"daysToRefiPairsUsed": {
|
|
40329
|
+
"type": "number"
|
|
40330
|
+
},
|
|
40331
|
+
"keptRefiCount": {
|
|
40332
|
+
"description": "Same-LO refinances of the LO's own borrowers in the period",
|
|
40333
|
+
"type": "number"
|
|
40334
|
+
},
|
|
40335
|
+
"keptRefiVolume": {
|
|
40336
|
+
"type": "number"
|
|
40337
|
+
},
|
|
40338
|
+
"keptSecondCount": {
|
|
40339
|
+
"type": "number"
|
|
40340
|
+
},
|
|
40341
|
+
"medianDaysToRefi": {
|
|
40342
|
+
"nullable": true,
|
|
40343
|
+
"type": "number"
|
|
40344
|
+
},
|
|
40345
|
+
"propertySoldCount": {
|
|
40346
|
+
"type": "number"
|
|
40347
|
+
},
|
|
40348
|
+
"refiRetentionRate": {
|
|
40349
|
+
"description": "kept ÷ (kept + churned) refi events; null with none",
|
|
40350
|
+
"nullable": true,
|
|
40351
|
+
"type": "number"
|
|
40352
|
+
},
|
|
40353
|
+
"retainedCount": {
|
|
40354
|
+
"type": "number"
|
|
40355
|
+
},
|
|
40356
|
+
"secondPositionCount": {
|
|
40357
|
+
"type": "number"
|
|
40358
|
+
},
|
|
40359
|
+
"secondPositionVolume": {
|
|
40360
|
+
"type": "number"
|
|
40361
|
+
},
|
|
40362
|
+
"totalBorrowers": {
|
|
40363
|
+
"type": "number"
|
|
40364
|
+
},
|
|
40365
|
+
"unattributedCount": {
|
|
40366
|
+
"type": "number"
|
|
40367
|
+
},
|
|
40368
|
+
"volumeLost": {
|
|
40369
|
+
"type": "number"
|
|
40370
|
+
},
|
|
40371
|
+
"volumeRetained": {
|
|
40372
|
+
"type": "number"
|
|
40373
|
+
}
|
|
40374
|
+
},
|
|
40375
|
+
"required": [
|
|
40376
|
+
"totalBorrowers",
|
|
40377
|
+
"churnedCount",
|
|
40378
|
+
"retainedCount",
|
|
40379
|
+
"propertySoldCount",
|
|
40380
|
+
"unattributedCount",
|
|
40381
|
+
"secondPositionCount",
|
|
40382
|
+
"secondPositionVolume",
|
|
40383
|
+
"keptRefiCount",
|
|
40384
|
+
"keptRefiVolume",
|
|
40385
|
+
"keptSecondCount",
|
|
40386
|
+
"refiRetentionRate",
|
|
40387
|
+
"churnRate",
|
|
40388
|
+
"volumeLost",
|
|
40389
|
+
"volumeRetained",
|
|
40390
|
+
"medianDaysToRefi",
|
|
40391
|
+
"daysToRefiPairsUsed"
|
|
40392
|
+
],
|
|
40393
|
+
"type": "object"
|
|
40394
|
+
},
|
|
40395
|
+
"timing": {
|
|
40396
|
+
"properties": {
|
|
40397
|
+
"cashOutCount": {
|
|
40398
|
+
"type": "number"
|
|
40399
|
+
},
|
|
40400
|
+
"cashOutShare": {
|
|
40401
|
+
"nullable": true,
|
|
40402
|
+
"type": "number"
|
|
40403
|
+
},
|
|
40404
|
+
"loanTypeChangeCount": {
|
|
40405
|
+
"type": "number"
|
|
40406
|
+
},
|
|
40407
|
+
"medianMonths": {
|
|
40408
|
+
"nullable": true,
|
|
40409
|
+
"type": "number"
|
|
40410
|
+
},
|
|
40411
|
+
"monthsToExit": {
|
|
40412
|
+
"items": {
|
|
40413
|
+
"properties": {
|
|
40414
|
+
"bucket": {
|
|
40415
|
+
"type": "string"
|
|
40416
|
+
},
|
|
40417
|
+
"count": {
|
|
40418
|
+
"type": "number"
|
|
40419
|
+
}
|
|
40420
|
+
},
|
|
40421
|
+
"required": [
|
|
40422
|
+
"bucket",
|
|
40423
|
+
"count"
|
|
40424
|
+
],
|
|
40425
|
+
"type": "object"
|
|
40426
|
+
},
|
|
40427
|
+
"type": "array"
|
|
40428
|
+
},
|
|
40429
|
+
"rateDeltaMedian": {
|
|
40430
|
+
"nullable": true,
|
|
40431
|
+
"type": "number"
|
|
40432
|
+
},
|
|
40433
|
+
"rateDeltaPairs": {
|
|
40434
|
+
"type": "number"
|
|
40435
|
+
}
|
|
40436
|
+
},
|
|
40437
|
+
"required": [
|
|
40438
|
+
"monthsToExit",
|
|
40439
|
+
"medianMonths",
|
|
40440
|
+
"cashOutCount",
|
|
40441
|
+
"cashOutShare",
|
|
40442
|
+
"rateDeltaMedian",
|
|
40443
|
+
"rateDeltaPairs",
|
|
40444
|
+
"loanTypeChangeCount"
|
|
40445
|
+
],
|
|
40446
|
+
"type": "object"
|
|
40447
|
+
},
|
|
40448
|
+
"truncated": {
|
|
40449
|
+
"description": "A loan / sale scan hit its row cap; counts cover the rows read.",
|
|
40450
|
+
"type": "boolean"
|
|
40451
|
+
}
|
|
40452
|
+
},
|
|
40453
|
+
"required": [
|
|
40454
|
+
"status",
|
|
40455
|
+
"truncated",
|
|
40456
|
+
"summary",
|
|
40457
|
+
"lanes",
|
|
40458
|
+
"secondPositionLanes",
|
|
40459
|
+
"timing",
|
|
40460
|
+
"churnTrend",
|
|
40461
|
+
"churnByLoanType",
|
|
40462
|
+
"capturingOriginators",
|
|
40463
|
+
"capturingCompanies",
|
|
40464
|
+
"secondPositionCompanies",
|
|
40465
|
+
"capturingTotals",
|
|
40466
|
+
"churnedLoans",
|
|
40467
|
+
"atRisk",
|
|
40468
|
+
"previous"
|
|
40469
|
+
],
|
|
40470
|
+
"type": "object"
|
|
40471
|
+
},
|
|
40472
|
+
"OriginatorRetentionRequest": {
|
|
40473
|
+
"additionalProperties": false,
|
|
40474
|
+
"properties": {
|
|
40475
|
+
"compare": {
|
|
40476
|
+
"additionalProperties": false,
|
|
40477
|
+
"description": "Optional comparison period (e.g. the prior 14 months). Its `summary` and monthly trend come back as `previous`; it reuses this request's loan scan, so it costs no extra search.",
|
|
40478
|
+
"properties": {
|
|
40479
|
+
"end": {
|
|
40480
|
+
"description": "Last day of the period (UTC, inclusive).",
|
|
40481
|
+
"example": "2025-08-15",
|
|
40482
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
40483
|
+
"type": "string"
|
|
40484
|
+
},
|
|
40485
|
+
"start": {
|
|
40486
|
+
"description": "First day of the period (UTC).",
|
|
40487
|
+
"example": "2025-08-15",
|
|
40488
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
40489
|
+
"type": "string"
|
|
40490
|
+
}
|
|
40491
|
+
},
|
|
40492
|
+
"required": [
|
|
40493
|
+
"start",
|
|
40494
|
+
"end"
|
|
40495
|
+
],
|
|
40496
|
+
"type": "object"
|
|
40497
|
+
},
|
|
40498
|
+
"end": {
|
|
40499
|
+
"description": "Last day of the period (UTC, inclusive).",
|
|
40500
|
+
"example": "2025-08-15",
|
|
40501
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
40502
|
+
"type": "string"
|
|
40503
|
+
},
|
|
40504
|
+
"includeAtRisk": {
|
|
40505
|
+
"description": "Scan the retained book for exit signals (listed / likely to sell / rate incentive). Default true.",
|
|
40506
|
+
"type": "boolean"
|
|
40507
|
+
},
|
|
40508
|
+
"start": {
|
|
40509
|
+
"description": "First day of the period (UTC).",
|
|
40510
|
+
"example": "2025-08-15",
|
|
40511
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
40512
|
+
"type": "string"
|
|
40513
|
+
}
|
|
40514
|
+
},
|
|
40515
|
+
"required": [
|
|
40516
|
+
"start",
|
|
40517
|
+
"end"
|
|
40518
|
+
],
|
|
40519
|
+
"type": "object"
|
|
40520
|
+
},
|
|
39545
40521
|
"OriginatorSegment": {
|
|
39546
40522
|
"description": "Dimension to group by. Most are the loan's own field (`loanType`, `transactionType`, `state`, …). `lender` groups on the normalized lender (label = display name, `id` = filter key). `propertyType` is the recorder's land-use code of the collateral (`SFR` single-family, `PUD` planned unit development, `CND` condo, `RES` residential-other, `MFD` multi-family dwelling, `2ND` second home, `MFG` manufactured, `TWN` townhouse, `LAN` land, `COM` commercial, …); loans with no code are not grouped (≈20% of recent loans). `conforming` splits on the conforming-loan-limit flag: `conforming` vs `nonConforming` (above the county conforming limit — i.e. jumbo, not Non-QM), raw `true`/`false` on `id`. Time-series only: `titleCompany` groups on the title company named on the deed, with spellings of one company merged per bucket (`label` = most-used spelling across the response, `id` = normalized name — match on `id`) and \"none available\"-style placeholders excluded.",
|
|
39547
40523
|
"enum": [
|
|
@@ -46560,7 +47536,7 @@
|
|
|
46560
47536
|
"info": {
|
|
46561
47537
|
"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.",
|
|
46562
47538
|
"title": "ModelMatch API",
|
|
46563
|
-
"version": "3.
|
|
47539
|
+
"version": "3.103.1"
|
|
46564
47540
|
},
|
|
46565
47541
|
"openapi": "3.1.0",
|
|
46566
47542
|
"paths": {
|
|
@@ -48436,7 +49412,7 @@
|
|
|
48436
49412
|
},
|
|
48437
49413
|
"/v1/agents/{id}/breakdowns/builders": {
|
|
48438
49414
|
"post": {
|
|
48439
|
-
"description": "New-construction builders named on the agent's deals in the period, ranked by units. Spellings of one builder are one row (case, punctuation, legal suffixes such as LLC, a trailing \"of <State>\", generic words such as Homes, letter typos) with `units` summed; `label` / `id` are those of its most common spelling, and distinct companies (a builder's subsidiaries) stay separate. The pre-aggregated builder list carries a deal COUNT only, so every row's `volume` and `pctVolume` are 0 — rank and share by `units` / `pctUnits` (a share of ALL the agent's deals in the period, so the rows sum to the builder-sold share, not to 1). It carries no buyer/listing split either: `side` must be `any` (or omitted); `buyer`/`listing` return 400.",
|
|
49415
|
+
"description": "New-construction builders named on the agent's deals in the period, ranked by units. Spellings of one builder are one row (case, punctuation, legal suffixes such as LLC, a trailing \"of <State>\", generic words such as Homes, letter typos) with `units` summed; `label` / `id` are those of its most common spelling, and distinct companies (a builder's subsidiaries) stay separate. Feed placeholders (\"Unknown\", \"Unk\", \"N/A\", \"-\", \"TBD\", \"None\", \"Other\", …) are not builders and are dropped. The pre-aggregated builder list carries a deal COUNT only, so every row's `volume` and `pctVolume` are 0 — rank and share by `units` / `pctUnits` (a share of ALL the agent's deals in the period, so the rows sum to the builder-sold share, not to 1). It carries no buyer/listing split either: `side` must be `any` (or omitted); `buyer`/`listing` return 400.",
|
|
48440
49416
|
"operationId": "agentBuilders",
|
|
48441
49417
|
"parameters": [
|
|
48442
49418
|
{
|
|
@@ -76853,7 +77829,7 @@
|
|
|
76853
77829
|
},
|
|
76854
77830
|
"/v1/offices/{id}/breakdowns/builders": {
|
|
76855
77831
|
"post": {
|
|
76856
|
-
"description": "New-construction builders named on the office's deals in the period, ranked by units. Spellings of one builder (case, punctuation, legal suffixes, a trailing \"of <State>\", generic words such as Homes, letter typos) are one row with `units` summed; distinct companies stay separate. Deal COUNT only: every row's `volume` / `pctVolume` is 0 and `pctUnits` is a share of ALL the office's deals. No buyer/listing split: `side` must be `any` (or omitted).",
|
|
77832
|
+
"description": "New-construction builders named on the office's deals in the period, ranked by units. Spellings of one builder (case, punctuation, legal suffixes, a trailing \"of <State>\", generic words such as Homes, letter typos) are one row with `units` summed; distinct companies stay separate. Feed placeholders (\"Unknown\", \"N/A\", \"-\", \"TBD\", …) are dropped. Deal COUNT only: every row's `volume` / `pctVolume` is 0 and `pctUnits` is a share of ALL the office's deals. No buyer/listing split: `side` must be `any` (or omitted).",
|
|
76857
77833
|
"operationId": "officeBuilders",
|
|
76858
77834
|
"parameters": [
|
|
76859
77835
|
{
|
|
@@ -78126,207 +79102,309 @@
|
|
|
78126
79102
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78127
79103
|
}
|
|
78128
79104
|
},
|
|
78129
|
-
"summary": "Count originators matching filters",
|
|
78130
|
-
"tags": [
|
|
78131
|
-
"Originators"
|
|
78132
|
-
],
|
|
78133
|
-
"x-mm-records-via": "listOriginators"
|
|
78134
|
-
}
|
|
78135
|
-
},
|
|
78136
|
-
"/v1/originators/{id}/related": {
|
|
78137
|
-
"get": {
|
|
78138
|
-
"description": "Return the ids of records of another type that are linked to this record. Links resolve by identifier, strongest identifier first, and equally-trusted identifiers are combined — a company's linked loans cover every role it holds on a loan, not just the first one found. The response reports which strength was used: `primary` is the canonical identifier for that pair, `secondary` is a real but weaker alternate used only when the record carries nothing better. This is a lightweight index: it returns ids and a count, not full records. For filtering, sorting, pagination and full detail, use the named endpoint for the pair (for example the originator loans endpoint) and fetch records by id.",
|
|
78139
|
-
"operationId": "originatorRelated",
|
|
78140
|
-
"parameters": [
|
|
78141
|
-
{
|
|
78142
|
-
"description": "Originator NMLS ID",
|
|
78143
|
-
"in": "path",
|
|
78144
|
-
"name": "id",
|
|
78145
|
-
"required": true,
|
|
78146
|
-
"schema": {
|
|
78147
|
-
"description": "Originator NMLS ID",
|
|
78148
|
-
"type": "string"
|
|
78149
|
-
}
|
|
78150
|
-
},
|
|
78151
|
-
{
|
|
78152
|
-
"description": "Type of record to link to",
|
|
78153
|
-
"in": "query",
|
|
78154
|
-
"name": "to",
|
|
78155
|
-
"required": true,
|
|
78156
|
-
"schema": {
|
|
78157
|
-
"description": "Type of record to link to",
|
|
78158
|
-
"enum": [
|
|
78159
|
-
"companies",
|
|
78160
|
-
"loans",
|
|
78161
|
-
"properties"
|
|
78162
|
-
],
|
|
78163
|
-
"type": "string"
|
|
78164
|
-
}
|
|
78165
|
-
},
|
|
78166
|
-
{
|
|
78167
|
-
"description": "Maximum ids to return (default 25, max 200)",
|
|
78168
|
-
"in": "query",
|
|
78169
|
-
"name": "limit",
|
|
78170
|
-
"required": false,
|
|
78171
|
-
"schema": {
|
|
78172
|
-
"description": "Maximum ids to return (default 25, max 200)",
|
|
78173
|
-
"maximum": 200,
|
|
78174
|
-
"minimum": 1,
|
|
78175
|
-
"type": "integer"
|
|
78176
|
-
}
|
|
78177
|
-
}
|
|
78178
|
-
],
|
|
78179
|
-
"responses": {
|
|
78180
|
-
"200": {
|
|
78181
|
-
"content": {
|
|
78182
|
-
"application/json": {
|
|
78183
|
-
"schema": {
|
|
78184
|
-
"$ref": "#/components/schemas/RelatedResponse"
|
|
78185
|
-
}
|
|
78186
|
-
}
|
|
78187
|
-
},
|
|
78188
|
-
"description": "Linked record ids"
|
|
78189
|
-
},
|
|
78190
|
-
"400": {
|
|
78191
|
-
"content": {
|
|
78192
|
-
"application/json": {
|
|
78193
|
-
"schema": {
|
|
78194
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
78195
|
-
}
|
|
78196
|
-
}
|
|
78197
|
-
},
|
|
78198
|
-
"description": "Validation error"
|
|
78199
|
-
},
|
|
78200
|
-
"401": {
|
|
78201
|
-
"content": {
|
|
78202
|
-
"application/json": {
|
|
78203
|
-
"schema": {
|
|
78204
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
78205
|
-
}
|
|
78206
|
-
}
|
|
78207
|
-
},
|
|
78208
|
-
"description": "Unauthorized"
|
|
78209
|
-
},
|
|
78210
|
-
"403": {
|
|
78211
|
-
"content": {
|
|
78212
|
-
"application/json": {
|
|
78213
|
-
"schema": {
|
|
78214
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
78215
|
-
}
|
|
78216
|
-
}
|
|
78217
|
-
},
|
|
78218
|
-
"description": "Forbidden (authenticated, but missing required context — e.g. no active organization)"
|
|
78219
|
-
},
|
|
78220
|
-
"404": {
|
|
78221
|
-
"content": {
|
|
78222
|
-
"application/json": {
|
|
78223
|
-
"schema": {
|
|
78224
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
78225
|
-
}
|
|
78226
|
-
}
|
|
78227
|
-
},
|
|
78228
|
-
"description": "Record not found"
|
|
78229
|
-
},
|
|
78230
|
-
"413": {
|
|
78231
|
-
"content": {
|
|
78232
|
-
"application/json": {
|
|
78233
|
-
"schema": {
|
|
78234
|
-
"$ref": "#/components/schemas/PayloadTooLarge"
|
|
78235
|
-
}
|
|
78236
|
-
}
|
|
78237
|
-
},
|
|
78238
|
-
"description": "Response payload too large — detail endpoint capped to fit Lambda response limits"
|
|
78239
|
-
},
|
|
78240
|
-
"503": {
|
|
78241
|
-
"content": {
|
|
78242
|
-
"application/json": {
|
|
78243
|
-
"schema": {
|
|
78244
|
-
"$ref": "#/components/schemas/SearchUnavailable"
|
|
78245
|
-
}
|
|
78246
|
-
}
|
|
78247
|
-
},
|
|
78248
|
-
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78249
|
-
}
|
|
78250
|
-
},
|
|
78251
|
-
"summary": "Records linked to this one",
|
|
78252
|
-
"tags": [
|
|
78253
|
-
"Related"
|
|
78254
|
-
]
|
|
78255
|
-
}
|
|
78256
|
-
},
|
|
78257
|
-
"/v1/originators/{nmlsId}": {
|
|
78258
|
-
"get": {
|
|
78259
|
-
"operationId": "getOriginator",
|
|
78260
|
-
"parameters": [
|
|
78261
|
-
{
|
|
78262
|
-
"description": "Originator NMLS ID",
|
|
78263
|
-
"in": "path",
|
|
78264
|
-
"name": "nmlsId",
|
|
78265
|
-
"required": true,
|
|
78266
|
-
"schema": {
|
|
78267
|
-
"description": "Originator NMLS ID",
|
|
78268
|
-
"type": "string"
|
|
78269
|
-
}
|
|
78270
|
-
},
|
|
78271
|
-
{
|
|
78272
|
-
"description": "Period for volume/units (default: last12Months)",
|
|
78273
|
-
"in": "query",
|
|
78274
|
-
"name": "period",
|
|
78275
|
-
"required": false,
|
|
78276
|
-
"schema": {
|
|
78277
|
-
"allOf": [
|
|
78278
|
-
{
|
|
78279
|
-
"$ref": "#/components/schemas/Period"
|
|
78280
|
-
},
|
|
78281
|
-
{
|
|
78282
|
-
"description": "Period for volume/units (default: last12Months)"
|
|
78283
|
-
}
|
|
78284
|
-
]
|
|
78285
|
-
}
|
|
78286
|
-
}
|
|
78287
|
-
],
|
|
78288
|
-
"responses": {
|
|
78289
|
-
"200": {
|
|
78290
|
-
"content": {
|
|
78291
|
-
"application/json": {
|
|
78292
|
-
"schema": {
|
|
78293
|
-
"$ref": "#/components/schemas/OriginatorDetailResponse"
|
|
78294
|
-
}
|
|
78295
|
-
}
|
|
78296
|
-
},
|
|
78297
|
-
"description": "Originator detail"
|
|
78298
|
-
},
|
|
78299
|
-
"404": {
|
|
78300
|
-
"content": {
|
|
78301
|
-
"application/json": {
|
|
78302
|
-
"schema": {
|
|
78303
|
-
"$ref": "#/components/schemas/ErrorResponse"
|
|
78304
|
-
}
|
|
78305
|
-
}
|
|
78306
|
-
},
|
|
78307
|
-
"description": "Originator not found"
|
|
78308
|
-
},
|
|
78309
|
-
"413": {
|
|
78310
|
-
"content": {
|
|
78311
|
-
"application/json": {
|
|
78312
|
-
"schema": {
|
|
78313
|
-
"$ref": "#/components/schemas/PayloadTooLarge"
|
|
78314
|
-
}
|
|
78315
|
-
}
|
|
78316
|
-
},
|
|
78317
|
-
"description": "Response payload too large"
|
|
78318
|
-
}
|
|
78319
|
-
},
|
|
78320
|
-
"summary": "Get originator by NMLS ID",
|
|
79105
|
+
"summary": "Count originators matching filters",
|
|
79106
|
+
"tags": [
|
|
79107
|
+
"Originators"
|
|
79108
|
+
],
|
|
79109
|
+
"x-mm-records-via": "listOriginators"
|
|
79110
|
+
}
|
|
79111
|
+
},
|
|
79112
|
+
"/v1/originators/{id}/related": {
|
|
79113
|
+
"get": {
|
|
79114
|
+
"description": "Return the ids of records of another type that are linked to this record. Links resolve by identifier, strongest identifier first, and equally-trusted identifiers are combined — a company's linked loans cover every role it holds on a loan, not just the first one found. The response reports which strength was used: `primary` is the canonical identifier for that pair, `secondary` is a real but weaker alternate used only when the record carries nothing better. This is a lightweight index: it returns ids and a count, not full records. For filtering, sorting, pagination and full detail, use the named endpoint for the pair (for example the originator loans endpoint) and fetch records by id.",
|
|
79115
|
+
"operationId": "originatorRelated",
|
|
79116
|
+
"parameters": [
|
|
79117
|
+
{
|
|
79118
|
+
"description": "Originator NMLS ID",
|
|
79119
|
+
"in": "path",
|
|
79120
|
+
"name": "id",
|
|
79121
|
+
"required": true,
|
|
79122
|
+
"schema": {
|
|
79123
|
+
"description": "Originator NMLS ID",
|
|
79124
|
+
"type": "string"
|
|
79125
|
+
}
|
|
79126
|
+
},
|
|
79127
|
+
{
|
|
79128
|
+
"description": "Type of record to link to",
|
|
79129
|
+
"in": "query",
|
|
79130
|
+
"name": "to",
|
|
79131
|
+
"required": true,
|
|
79132
|
+
"schema": {
|
|
79133
|
+
"description": "Type of record to link to",
|
|
79134
|
+
"enum": [
|
|
79135
|
+
"companies",
|
|
79136
|
+
"loans",
|
|
79137
|
+
"properties"
|
|
79138
|
+
],
|
|
79139
|
+
"type": "string"
|
|
79140
|
+
}
|
|
79141
|
+
},
|
|
79142
|
+
{
|
|
79143
|
+
"description": "Maximum ids to return (default 25, max 200)",
|
|
79144
|
+
"in": "query",
|
|
79145
|
+
"name": "limit",
|
|
79146
|
+
"required": false,
|
|
79147
|
+
"schema": {
|
|
79148
|
+
"description": "Maximum ids to return (default 25, max 200)",
|
|
79149
|
+
"maximum": 200,
|
|
79150
|
+
"minimum": 1,
|
|
79151
|
+
"type": "integer"
|
|
79152
|
+
}
|
|
79153
|
+
}
|
|
79154
|
+
],
|
|
79155
|
+
"responses": {
|
|
79156
|
+
"200": {
|
|
79157
|
+
"content": {
|
|
79158
|
+
"application/json": {
|
|
79159
|
+
"schema": {
|
|
79160
|
+
"$ref": "#/components/schemas/RelatedResponse"
|
|
79161
|
+
}
|
|
79162
|
+
}
|
|
79163
|
+
},
|
|
79164
|
+
"description": "Linked record ids"
|
|
79165
|
+
},
|
|
79166
|
+
"400": {
|
|
79167
|
+
"content": {
|
|
79168
|
+
"application/json": {
|
|
79169
|
+
"schema": {
|
|
79170
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79171
|
+
}
|
|
79172
|
+
}
|
|
79173
|
+
},
|
|
79174
|
+
"description": "Validation error"
|
|
79175
|
+
},
|
|
79176
|
+
"401": {
|
|
79177
|
+
"content": {
|
|
79178
|
+
"application/json": {
|
|
79179
|
+
"schema": {
|
|
79180
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79181
|
+
}
|
|
79182
|
+
}
|
|
79183
|
+
},
|
|
79184
|
+
"description": "Unauthorized"
|
|
79185
|
+
},
|
|
79186
|
+
"403": {
|
|
79187
|
+
"content": {
|
|
79188
|
+
"application/json": {
|
|
79189
|
+
"schema": {
|
|
79190
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79191
|
+
}
|
|
79192
|
+
}
|
|
79193
|
+
},
|
|
79194
|
+
"description": "Forbidden (authenticated, but missing required context — e.g. no active organization)"
|
|
79195
|
+
},
|
|
79196
|
+
"404": {
|
|
79197
|
+
"content": {
|
|
79198
|
+
"application/json": {
|
|
79199
|
+
"schema": {
|
|
79200
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79201
|
+
}
|
|
79202
|
+
}
|
|
79203
|
+
},
|
|
79204
|
+
"description": "Record not found"
|
|
79205
|
+
},
|
|
79206
|
+
"413": {
|
|
79207
|
+
"content": {
|
|
79208
|
+
"application/json": {
|
|
79209
|
+
"schema": {
|
|
79210
|
+
"$ref": "#/components/schemas/PayloadTooLarge"
|
|
79211
|
+
}
|
|
79212
|
+
}
|
|
79213
|
+
},
|
|
79214
|
+
"description": "Response payload too large — detail endpoint capped to fit Lambda response limits"
|
|
79215
|
+
},
|
|
79216
|
+
"503": {
|
|
79217
|
+
"content": {
|
|
79218
|
+
"application/json": {
|
|
79219
|
+
"schema": {
|
|
79220
|
+
"$ref": "#/components/schemas/SearchUnavailable"
|
|
79221
|
+
}
|
|
79222
|
+
}
|
|
79223
|
+
},
|
|
79224
|
+
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79225
|
+
}
|
|
79226
|
+
},
|
|
79227
|
+
"summary": "Records linked to this one",
|
|
79228
|
+
"tags": [
|
|
79229
|
+
"Related"
|
|
79230
|
+
]
|
|
79231
|
+
}
|
|
79232
|
+
},
|
|
79233
|
+
"/v1/originators/{nmlsId}": {
|
|
79234
|
+
"get": {
|
|
79235
|
+
"operationId": "getOriginator",
|
|
79236
|
+
"parameters": [
|
|
79237
|
+
{
|
|
79238
|
+
"description": "Originator NMLS ID",
|
|
79239
|
+
"in": "path",
|
|
79240
|
+
"name": "nmlsId",
|
|
79241
|
+
"required": true,
|
|
79242
|
+
"schema": {
|
|
79243
|
+
"description": "Originator NMLS ID",
|
|
79244
|
+
"type": "string"
|
|
79245
|
+
}
|
|
79246
|
+
},
|
|
79247
|
+
{
|
|
79248
|
+
"description": "Period for volume/units (default: last12Months)",
|
|
79249
|
+
"in": "query",
|
|
79250
|
+
"name": "period",
|
|
79251
|
+
"required": false,
|
|
79252
|
+
"schema": {
|
|
79253
|
+
"allOf": [
|
|
79254
|
+
{
|
|
79255
|
+
"$ref": "#/components/schemas/Period"
|
|
79256
|
+
},
|
|
79257
|
+
{
|
|
79258
|
+
"description": "Period for volume/units (default: last12Months)"
|
|
79259
|
+
}
|
|
79260
|
+
]
|
|
79261
|
+
}
|
|
79262
|
+
}
|
|
79263
|
+
],
|
|
79264
|
+
"responses": {
|
|
79265
|
+
"200": {
|
|
79266
|
+
"content": {
|
|
79267
|
+
"application/json": {
|
|
79268
|
+
"schema": {
|
|
79269
|
+
"$ref": "#/components/schemas/OriginatorDetailResponse"
|
|
79270
|
+
}
|
|
79271
|
+
}
|
|
79272
|
+
},
|
|
79273
|
+
"description": "Originator detail"
|
|
79274
|
+
},
|
|
79275
|
+
"404": {
|
|
79276
|
+
"content": {
|
|
79277
|
+
"application/json": {
|
|
79278
|
+
"schema": {
|
|
79279
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79280
|
+
}
|
|
79281
|
+
}
|
|
79282
|
+
},
|
|
79283
|
+
"description": "Originator not found"
|
|
79284
|
+
},
|
|
79285
|
+
"413": {
|
|
79286
|
+
"content": {
|
|
79287
|
+
"application/json": {
|
|
79288
|
+
"schema": {
|
|
79289
|
+
"$ref": "#/components/schemas/PayloadTooLarge"
|
|
79290
|
+
}
|
|
79291
|
+
}
|
|
79292
|
+
},
|
|
79293
|
+
"description": "Response payload too large"
|
|
79294
|
+
}
|
|
79295
|
+
},
|
|
79296
|
+
"summary": "Get originator by NMLS ID",
|
|
79297
|
+
"tags": [
|
|
79298
|
+
"Originators"
|
|
79299
|
+
]
|
|
79300
|
+
}
|
|
79301
|
+
},
|
|
79302
|
+
"/v1/originators/{nmlsId}/breakdowns/agents": {
|
|
79303
|
+
"post": {
|
|
79304
|
+
"description": "Ranks the real-estate agents on this LO's loans, by volume — the buyer's agent by default, the listing and co-listing agents with `side: \"listing\"`. Each loan is credited to the agent its MLS agent keys resolve to (a key naming several different people credits only the confirmed one), so `units` counts distinct loans per agent. `id` is that agent's id (pass it to `GET /v1/agents/{id}`); absent when the loan's key matches no agent profile, in which case `label` is the name the MLS recorded. Names that are an MLS placeholder for \"no agent recorded\" (`non member`, `non listed agent`, and ~140 board-specific spellings) are excluded — they are not people. Percentages are shares of the LO's whole loan population, so they do not sum to 100 across the page.",
|
|
79305
|
+
"operationId": "originatorAgents",
|
|
79306
|
+
"parameters": [
|
|
79307
|
+
{
|
|
79308
|
+
"description": "Originator NMLS ID",
|
|
79309
|
+
"in": "path",
|
|
79310
|
+
"name": "nmlsId",
|
|
79311
|
+
"required": true,
|
|
79312
|
+
"schema": {
|
|
79313
|
+
"description": "Originator NMLS ID",
|
|
79314
|
+
"type": "string"
|
|
79315
|
+
}
|
|
79316
|
+
}
|
|
79317
|
+
],
|
|
79318
|
+
"requestBody": {
|
|
79319
|
+
"content": {
|
|
79320
|
+
"application/json": {
|
|
79321
|
+
"schema": {
|
|
79322
|
+
"$ref": "#/components/schemas/OriginatorAgentsBreakdownRequest"
|
|
79323
|
+
}
|
|
79324
|
+
}
|
|
79325
|
+
}
|
|
79326
|
+
},
|
|
79327
|
+
"responses": {
|
|
79328
|
+
"200": {
|
|
79329
|
+
"content": {
|
|
79330
|
+
"application/json": {
|
|
79331
|
+
"schema": {
|
|
79332
|
+
"$ref": "#/components/schemas/AgentSidedBreakdownResponse"
|
|
79333
|
+
}
|
|
79334
|
+
}
|
|
79335
|
+
},
|
|
79336
|
+
"description": "Breakdown of the LO's loans by real-estate agent"
|
|
79337
|
+
},
|
|
79338
|
+
"400": {
|
|
79339
|
+
"content": {
|
|
79340
|
+
"application/json": {
|
|
79341
|
+
"schema": {
|
|
79342
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79343
|
+
}
|
|
79344
|
+
}
|
|
79345
|
+
},
|
|
79346
|
+
"description": "Validation error"
|
|
79347
|
+
},
|
|
79348
|
+
"401": {
|
|
79349
|
+
"content": {
|
|
79350
|
+
"application/json": {
|
|
79351
|
+
"schema": {
|
|
79352
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79353
|
+
}
|
|
79354
|
+
}
|
|
79355
|
+
},
|
|
79356
|
+
"description": "Unauthorized"
|
|
79357
|
+
},
|
|
79358
|
+
"403": {
|
|
79359
|
+
"content": {
|
|
79360
|
+
"application/json": {
|
|
79361
|
+
"schema": {
|
|
79362
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79363
|
+
}
|
|
79364
|
+
}
|
|
79365
|
+
},
|
|
79366
|
+
"description": "Forbidden (authenticated, but missing required context — e.g. no active organization)"
|
|
79367
|
+
},
|
|
79368
|
+
"404": {
|
|
79369
|
+
"content": {
|
|
79370
|
+
"application/json": {
|
|
79371
|
+
"schema": {
|
|
79372
|
+
"$ref": "#/components/schemas/ErrorResponse"
|
|
79373
|
+
}
|
|
79374
|
+
}
|
|
79375
|
+
},
|
|
79376
|
+
"description": "Not found"
|
|
79377
|
+
},
|
|
79378
|
+
"413": {
|
|
79379
|
+
"content": {
|
|
79380
|
+
"application/json": {
|
|
79381
|
+
"schema": {
|
|
79382
|
+
"$ref": "#/components/schemas/PayloadTooLarge"
|
|
79383
|
+
}
|
|
79384
|
+
}
|
|
79385
|
+
},
|
|
79386
|
+
"description": "Response payload too large — detail endpoint capped to fit Lambda response limits"
|
|
79387
|
+
},
|
|
79388
|
+
"503": {
|
|
79389
|
+
"content": {
|
|
79390
|
+
"application/json": {
|
|
79391
|
+
"schema": {
|
|
79392
|
+
"$ref": "#/components/schemas/SearchUnavailable"
|
|
79393
|
+
}
|
|
79394
|
+
}
|
|
79395
|
+
},
|
|
79396
|
+
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79397
|
+
}
|
|
79398
|
+
},
|
|
79399
|
+
"summary": "Real-estate agents this LO co-closed with",
|
|
78321
79400
|
"tags": [
|
|
78322
79401
|
"Originators"
|
|
78323
79402
|
]
|
|
78324
79403
|
}
|
|
78325
79404
|
},
|
|
78326
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79405
|
+
"/v1/originators/{nmlsId}/breakdowns/branches": {
|
|
78327
79406
|
"post": {
|
|
78328
|
-
"
|
|
78329
|
-
"operationId": "originatorAgents",
|
|
79407
|
+
"operationId": "originatorBranches",
|
|
78330
79408
|
"parameters": [
|
|
78331
79409
|
{
|
|
78332
79410
|
"description": "Originator NMLS ID",
|
|
@@ -78343,7 +79421,7 @@
|
|
|
78343
79421
|
"content": {
|
|
78344
79422
|
"application/json": {
|
|
78345
79423
|
"schema": {
|
|
78346
|
-
"$ref": "#/components/schemas/
|
|
79424
|
+
"$ref": "#/components/schemas/BreakdownRequest"
|
|
78347
79425
|
}
|
|
78348
79426
|
}
|
|
78349
79427
|
}
|
|
@@ -78353,11 +79431,11 @@
|
|
|
78353
79431
|
"content": {
|
|
78354
79432
|
"application/json": {
|
|
78355
79433
|
"schema": {
|
|
78356
|
-
"$ref": "#/components/schemas/
|
|
79434
|
+
"$ref": "#/components/schemas/BreakdownResponse"
|
|
78357
79435
|
}
|
|
78358
79436
|
}
|
|
78359
79437
|
},
|
|
78360
|
-
"description": "Breakdown of the LO's loans by
|
|
79438
|
+
"description": "Breakdown of the LO's loans by branches"
|
|
78361
79439
|
},
|
|
78362
79440
|
"400": {
|
|
78363
79441
|
"content": {
|
|
@@ -78420,15 +79498,15 @@
|
|
|
78420
79498
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78421
79499
|
}
|
|
78422
79500
|
},
|
|
78423
|
-
"summary": "
|
|
79501
|
+
"summary": "Branch (broker) history for this LO",
|
|
78424
79502
|
"tags": [
|
|
78425
79503
|
"Originators"
|
|
78426
79504
|
]
|
|
78427
79505
|
}
|
|
78428
79506
|
},
|
|
78429
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79507
|
+
"/v1/originators/{nmlsId}/breakdowns/brokers": {
|
|
78430
79508
|
"post": {
|
|
78431
|
-
"operationId": "
|
|
79509
|
+
"operationId": "originatorBrokers",
|
|
78432
79510
|
"parameters": [
|
|
78433
79511
|
{
|
|
78434
79512
|
"description": "Originator NMLS ID",
|
|
@@ -78459,7 +79537,7 @@
|
|
|
78459
79537
|
}
|
|
78460
79538
|
}
|
|
78461
79539
|
},
|
|
78462
|
-
"description": "Breakdown of the LO's loans by
|
|
79540
|
+
"description": "Breakdown of the LO's loans by brokers"
|
|
78463
79541
|
},
|
|
78464
79542
|
"400": {
|
|
78465
79543
|
"content": {
|
|
@@ -78522,15 +79600,16 @@
|
|
|
78522
79600
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78523
79601
|
}
|
|
78524
79602
|
},
|
|
78525
|
-
"summary": "
|
|
79603
|
+
"summary": "Broker shops this LO originated loans through (name-resolved)",
|
|
78526
79604
|
"tags": [
|
|
78527
79605
|
"Originators"
|
|
78528
79606
|
]
|
|
78529
79607
|
}
|
|
78530
79608
|
},
|
|
78531
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79609
|
+
"/v1/originators/{nmlsId}/breakdowns/builders": {
|
|
78532
79610
|
"post": {
|
|
78533
|
-
"
|
|
79611
|
+
"description": "Ranks the home builders behind this LO's new-construction loans, by volume. A loan counts when `originatorLoans` with `flatFilters.hasBuilder: true` keeps it, and is credited to the `builderName` that list shows on its row (the parcel's newest builder-named sale, else the builder named on the loan or its builder seller of record) — so a row's `units` equals that list's rows naming any of the builder's spellings. Spellings of one builder are one row (case, punctuation, legal suffixes such as LLC/LP, a trailing \"of <State>\", generic words such as Homes, and letter typos), with `units` and `volume` summed; `label` is the most common spelling and `id` its normalized key. Distinct companies (a builder's subsidiaries) stay separate rows. Feed placeholders (\"Unknown\", \"N/A\", \"-\", \"TBD\", …) are not builders: their loans get no row. Percentages are shares of the LO's whole loan population in scope, so rows do not sum to 100. More than 50,000 loans in scope is a 400 (narrow the period); `truncated` is set when the builder loans exceed that cap.",
|
|
79612
|
+
"operationId": "originatorBuilders",
|
|
78534
79613
|
"parameters": [
|
|
78535
79614
|
{
|
|
78536
79615
|
"description": "Originator NMLS ID",
|
|
@@ -78561,7 +79640,7 @@
|
|
|
78561
79640
|
}
|
|
78562
79641
|
}
|
|
78563
79642
|
},
|
|
78564
|
-
"description": "Breakdown of the LO's loans by
|
|
79643
|
+
"description": "Breakdown of the LO's builder loans by home builder"
|
|
78565
79644
|
},
|
|
78566
79645
|
"400": {
|
|
78567
79646
|
"content": {
|
|
@@ -78624,16 +79703,15 @@
|
|
|
78624
79703
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78625
79704
|
}
|
|
78626
79705
|
},
|
|
78627
|
-
"summary": "
|
|
79706
|
+
"summary": "Home builders on this LO's new-construction loans",
|
|
78628
79707
|
"tags": [
|
|
78629
79708
|
"Originators"
|
|
78630
79709
|
]
|
|
78631
79710
|
}
|
|
78632
79711
|
},
|
|
78633
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79712
|
+
"/v1/originators/{nmlsId}/breakdowns/cities": {
|
|
78634
79713
|
"post": {
|
|
78635
|
-
"
|
|
78636
|
-
"operationId": "originatorBuilders",
|
|
79714
|
+
"operationId": "originatorCitiesBreakdown",
|
|
78637
79715
|
"parameters": [
|
|
78638
79716
|
{
|
|
78639
79717
|
"description": "Originator NMLS ID",
|
|
@@ -78664,7 +79742,7 @@
|
|
|
78664
79742
|
}
|
|
78665
79743
|
}
|
|
78666
79744
|
},
|
|
78667
|
-
"description": "Breakdown of the LO's
|
|
79745
|
+
"description": "Breakdown of the LO's loans by cities"
|
|
78668
79746
|
},
|
|
78669
79747
|
"400": {
|
|
78670
79748
|
"content": {
|
|
@@ -78727,15 +79805,15 @@
|
|
|
78727
79805
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78728
79806
|
}
|
|
78729
79807
|
},
|
|
78730
|
-
"summary": "
|
|
79808
|
+
"summary": "City volume breakdown across this LO's loans",
|
|
78731
79809
|
"tags": [
|
|
78732
79810
|
"Originators"
|
|
78733
79811
|
]
|
|
78734
79812
|
}
|
|
78735
79813
|
},
|
|
78736
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79814
|
+
"/v1/originators/{nmlsId}/breakdowns/companies": {
|
|
78737
79815
|
"post": {
|
|
78738
|
-
"operationId": "
|
|
79816
|
+
"operationId": "originatorCompanies",
|
|
78739
79817
|
"parameters": [
|
|
78740
79818
|
{
|
|
78741
79819
|
"description": "Originator NMLS ID",
|
|
@@ -78766,7 +79844,7 @@
|
|
|
78766
79844
|
}
|
|
78767
79845
|
}
|
|
78768
79846
|
},
|
|
78769
|
-
"description": "Breakdown of the LO's loans by
|
|
79847
|
+
"description": "Breakdown of the LO's loans by companies"
|
|
78770
79848
|
},
|
|
78771
79849
|
"400": {
|
|
78772
79850
|
"content": {
|
|
@@ -78829,15 +79907,15 @@
|
|
|
78829
79907
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78830
79908
|
}
|
|
78831
79909
|
},
|
|
78832
|
-
"summary": "
|
|
79910
|
+
"summary": "Funding companies (employer history) for this LO",
|
|
78833
79911
|
"tags": [
|
|
78834
79912
|
"Originators"
|
|
78835
79913
|
]
|
|
78836
79914
|
}
|
|
78837
79915
|
},
|
|
78838
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
79916
|
+
"/v1/originators/{nmlsId}/breakdowns/counties": {
|
|
78839
79917
|
"post": {
|
|
78840
|
-
"operationId": "
|
|
79918
|
+
"operationId": "originatorCountiesBreakdown",
|
|
78841
79919
|
"parameters": [
|
|
78842
79920
|
{
|
|
78843
79921
|
"description": "Originator NMLS ID",
|
|
@@ -78868,7 +79946,7 @@
|
|
|
78868
79946
|
}
|
|
78869
79947
|
}
|
|
78870
79948
|
},
|
|
78871
|
-
"description": "Breakdown of the LO's loans by
|
|
79949
|
+
"description": "Breakdown of the LO's loans by counties"
|
|
78872
79950
|
},
|
|
78873
79951
|
"400": {
|
|
78874
79952
|
"content": {
|
|
@@ -78931,15 +80009,15 @@
|
|
|
78931
80009
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
78932
80010
|
}
|
|
78933
80011
|
},
|
|
78934
|
-
"summary": "
|
|
80012
|
+
"summary": "County (FIPS) volume breakdown across this LO's loans",
|
|
78935
80013
|
"tags": [
|
|
78936
80014
|
"Originators"
|
|
78937
80015
|
]
|
|
78938
80016
|
}
|
|
78939
80017
|
},
|
|
78940
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
80018
|
+
"/v1/originators/{nmlsId}/breakdowns/lenders": {
|
|
78941
80019
|
"post": {
|
|
78942
|
-
"operationId": "
|
|
80020
|
+
"operationId": "originatorLenders",
|
|
78943
80021
|
"parameters": [
|
|
78944
80022
|
{
|
|
78945
80023
|
"description": "Originator NMLS ID",
|
|
@@ -78970,7 +80048,7 @@
|
|
|
78970
80048
|
}
|
|
78971
80049
|
}
|
|
78972
80050
|
},
|
|
78973
|
-
"description": "Breakdown of the LO's loans by
|
|
80051
|
+
"description": "Breakdown of the LO's loans by lenders"
|
|
78974
80052
|
},
|
|
78975
80053
|
"400": {
|
|
78976
80054
|
"content": {
|
|
@@ -79033,15 +80111,15 @@
|
|
|
79033
80111
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79034
80112
|
}
|
|
79035
80113
|
},
|
|
79036
|
-
"summary": "
|
|
80114
|
+
"summary": "Lenders this LO has originated through",
|
|
79037
80115
|
"tags": [
|
|
79038
80116
|
"Originators"
|
|
79039
80117
|
]
|
|
79040
80118
|
}
|
|
79041
80119
|
},
|
|
79042
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
80120
|
+
"/v1/originators/{nmlsId}/breakdowns/offices": {
|
|
79043
80121
|
"post": {
|
|
79044
|
-
"operationId": "
|
|
80122
|
+
"operationId": "originatorOffices",
|
|
79045
80123
|
"parameters": [
|
|
79046
80124
|
{
|
|
79047
80125
|
"description": "Originator NMLS ID",
|
|
@@ -79072,7 +80150,7 @@
|
|
|
79072
80150
|
}
|
|
79073
80151
|
}
|
|
79074
80152
|
},
|
|
79075
|
-
"description": "Breakdown of the LO's loans by
|
|
80153
|
+
"description": "Breakdown of the LO's loans by broker (office)"
|
|
79076
80154
|
},
|
|
79077
80155
|
"400": {
|
|
79078
80156
|
"content": {
|
|
@@ -79135,15 +80213,15 @@
|
|
|
79135
80213
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79136
80214
|
}
|
|
79137
80215
|
},
|
|
79138
|
-
"summary": "
|
|
80216
|
+
"summary": "Real-estate offices this LO closed through (with sponsoring company)",
|
|
79139
80217
|
"tags": [
|
|
79140
80218
|
"Originators"
|
|
79141
80219
|
]
|
|
79142
80220
|
}
|
|
79143
80221
|
},
|
|
79144
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
80222
|
+
"/v1/originators/{nmlsId}/breakdowns/states": {
|
|
79145
80223
|
"post": {
|
|
79146
|
-
"operationId": "
|
|
80224
|
+
"operationId": "originatorStatesBreakdown",
|
|
79147
80225
|
"parameters": [
|
|
79148
80226
|
{
|
|
79149
80227
|
"description": "Originator NMLS ID",
|
|
@@ -79174,7 +80252,7 @@
|
|
|
79174
80252
|
}
|
|
79175
80253
|
}
|
|
79176
80254
|
},
|
|
79177
|
-
"description": "Breakdown of the LO's loans by
|
|
80255
|
+
"description": "Breakdown of the LO's loans by states"
|
|
79178
80256
|
},
|
|
79179
80257
|
"400": {
|
|
79180
80258
|
"content": {
|
|
@@ -79237,15 +80315,16 @@
|
|
|
79237
80315
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79238
80316
|
}
|
|
79239
80317
|
},
|
|
79240
|
-
"summary": "
|
|
80318
|
+
"summary": "State volume breakdown across this LO's loans",
|
|
79241
80319
|
"tags": [
|
|
79242
80320
|
"Originators"
|
|
79243
80321
|
]
|
|
79244
80322
|
}
|
|
79245
80323
|
},
|
|
79246
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
80324
|
+
"/v1/originators/{nmlsId}/breakdowns/title-companies": {
|
|
79247
80325
|
"post": {
|
|
79248
|
-
"
|
|
80326
|
+
"description": "Ranks the title companies on this entity's loans (recorded deeds, `recording_date` window — the same population and period axis as every other loans breakdown). Spellings of one company are MERGED: `label` is its most-used spelling, `id` the normalized name every spelling was grouped under (legal-form and filler words such as `inc`, `llc`, `co`, `company`, `title`, `escrow` removed; `natl` → `national`). Placeholder entries meaning \"no title company recorded\" (`none available` and its misspellings, `unknown`, `n/a`, …) and names shorter than 3 characters are excluded rather than ranked. `attorney` and `accommodation` are kept: they say who closed. `pctUnits` / `pctVolume` are shares of the entity's WHOLE loan population in the window, including loans with no title company, so they do not sum to 100 across the page. Pages of up to 100 via `pagination`.",
|
|
80327
|
+
"operationId": "originatorTitleCompanies",
|
|
79249
80328
|
"parameters": [
|
|
79250
80329
|
{
|
|
79251
80330
|
"description": "Originator NMLS ID",
|
|
@@ -79276,7 +80355,7 @@
|
|
|
79276
80355
|
}
|
|
79277
80356
|
}
|
|
79278
80357
|
},
|
|
79279
|
-
"description": "Breakdown of the
|
|
80358
|
+
"description": "Breakdown of the entity's loans by title company"
|
|
79280
80359
|
},
|
|
79281
80360
|
"400": {
|
|
79282
80361
|
"content": {
|
|
@@ -79339,16 +80418,15 @@
|
|
|
79339
80418
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79340
80419
|
}
|
|
79341
80420
|
},
|
|
79342
|
-
"summary": "
|
|
80421
|
+
"summary": "Title companies on this LO's loans (spellings merged)",
|
|
79343
80422
|
"tags": [
|
|
79344
80423
|
"Originators"
|
|
79345
80424
|
]
|
|
79346
80425
|
}
|
|
79347
80426
|
},
|
|
79348
|
-
"/v1/originators/{nmlsId}/breakdowns/
|
|
80427
|
+
"/v1/originators/{nmlsId}/breakdowns/zip-codes": {
|
|
79349
80428
|
"post": {
|
|
79350
|
-
"
|
|
79351
|
-
"operationId": "originatorTitleCompanies",
|
|
80429
|
+
"operationId": "originatorZipCodes",
|
|
79352
80430
|
"parameters": [
|
|
79353
80431
|
{
|
|
79354
80432
|
"description": "Originator NMLS ID",
|
|
@@ -79379,7 +80457,7 @@
|
|
|
79379
80457
|
}
|
|
79380
80458
|
}
|
|
79381
80459
|
},
|
|
79382
|
-
"description": "Breakdown of the
|
|
80460
|
+
"description": "Breakdown of the LO's loans by zip-codes"
|
|
79383
80461
|
},
|
|
79384
80462
|
"400": {
|
|
79385
80463
|
"content": {
|
|
@@ -79442,15 +80520,15 @@
|
|
|
79442
80520
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79443
80521
|
}
|
|
79444
80522
|
},
|
|
79445
|
-
"summary": "
|
|
80523
|
+
"summary": "Zip-code volume breakdown",
|
|
79446
80524
|
"tags": [
|
|
79447
80525
|
"Originators"
|
|
79448
80526
|
]
|
|
79449
80527
|
}
|
|
79450
80528
|
},
|
|
79451
|
-
"/v1/originators/{nmlsId}/
|
|
80529
|
+
"/v1/originators/{nmlsId}/loans": {
|
|
79452
80530
|
"post": {
|
|
79453
|
-
"operationId": "
|
|
80531
|
+
"operationId": "originatorLoans",
|
|
79454
80532
|
"parameters": [
|
|
79455
80533
|
{
|
|
79456
80534
|
"description": "Originator NMLS ID",
|
|
@@ -79467,7 +80545,7 @@
|
|
|
79467
80545
|
"content": {
|
|
79468
80546
|
"application/json": {
|
|
79469
80547
|
"schema": {
|
|
79470
|
-
"$ref": "#/components/schemas/
|
|
80548
|
+
"$ref": "#/components/schemas/LoanListRequest"
|
|
79471
80549
|
}
|
|
79472
80550
|
}
|
|
79473
80551
|
}
|
|
@@ -79477,11 +80555,11 @@
|
|
|
79477
80555
|
"content": {
|
|
79478
80556
|
"application/json": {
|
|
79479
80557
|
"schema": {
|
|
79480
|
-
"$ref": "#/components/schemas/
|
|
80558
|
+
"$ref": "#/components/schemas/LoanListResponse"
|
|
79481
80559
|
}
|
|
79482
80560
|
}
|
|
79483
80561
|
},
|
|
79484
|
-
"description": "
|
|
80562
|
+
"description": "Paginated list of loans originated by this LO"
|
|
79485
80563
|
},
|
|
79486
80564
|
"400": {
|
|
79487
80565
|
"content": {
|
|
@@ -79544,15 +80622,16 @@
|
|
|
79544
80622
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79545
80623
|
}
|
|
79546
80624
|
},
|
|
79547
|
-
"summary": "
|
|
80625
|
+
"summary": "Loans originated by this LO",
|
|
79548
80626
|
"tags": [
|
|
79549
80627
|
"Originators"
|
|
79550
80628
|
]
|
|
79551
80629
|
}
|
|
79552
80630
|
},
|
|
79553
|
-
"/v1/originators/{nmlsId}/
|
|
80631
|
+
"/v1/originators/{nmlsId}/markets": {
|
|
79554
80632
|
"post": {
|
|
79555
|
-
"
|
|
80633
|
+
"description": "One blended view of a loan officer's lending footprint: the ZIP codes they originated in, city / county / state rollups of the same scope, and the period totals those markets are a share of. AVERAGES ARE VOLUME-WEIGHTED: the summary loan size is Σ volume ÷ Σ units, not an unweighted mean of the per-market averages (on a real footprint the two differ by thousands of dollars). Sending `zipCodes` narrows every grain to those ZIPs; sending a `dateRange` re-cuts the window. Either switches the response from the LO's pre-aggregated footprint to a live aggregation of their loans — `source` and `sourceReasons` say which was used, and bucket `key` forms differ between them (use `name` for display). All shares on this response are 0–100 percentages. A summary can cover less than the whole book: production that could not be attributed to a place is held out and reported in `summary.unresolved` rather than being folded in or silently dropped. The summary also carries a Community Lending mix — what kind of neighborhood this book lands in. These are U.S. Census tract-level aggregates describing whole neighborhoods, never individual, household or applicant attributes. Unscoped it is the LO's own whole-period mix; a ZIP or date scope recomputes it over the markets in scope, and `summary.communityLending.basis` says which you got.",
|
|
80634
|
+
"operationId": "originatorMarkets",
|
|
79556
80635
|
"parameters": [
|
|
79557
80636
|
{
|
|
79558
80637
|
"description": "Originator NMLS ID",
|
|
@@ -79569,7 +80648,7 @@
|
|
|
79569
80648
|
"content": {
|
|
79570
80649
|
"application/json": {
|
|
79571
80650
|
"schema": {
|
|
79572
|
-
"$ref": "#/components/schemas/
|
|
80651
|
+
"$ref": "#/components/schemas/OriginatorMarketsRequest"
|
|
79573
80652
|
}
|
|
79574
80653
|
}
|
|
79575
80654
|
}
|
|
@@ -79579,11 +80658,11 @@
|
|
|
79579
80658
|
"content": {
|
|
79580
80659
|
"application/json": {
|
|
79581
80660
|
"schema": {
|
|
79582
|
-
"$ref": "#/components/schemas/
|
|
80661
|
+
"$ref": "#/components/schemas/OriginatorMarketsResponse"
|
|
79583
80662
|
}
|
|
79584
80663
|
}
|
|
79585
80664
|
},
|
|
79586
|
-
"description": "
|
|
80665
|
+
"description": "The LO's blended market footprint"
|
|
79587
80666
|
},
|
|
79588
80667
|
"400": {
|
|
79589
80668
|
"content": {
|
|
@@ -79623,7 +80702,7 @@
|
|
|
79623
80702
|
}
|
|
79624
80703
|
}
|
|
79625
80704
|
},
|
|
79626
|
-
"description": "
|
|
80705
|
+
"description": "Originator not found"
|
|
79627
80706
|
},
|
|
79628
80707
|
"413": {
|
|
79629
80708
|
"content": {
|
|
@@ -79646,16 +80725,16 @@
|
|
|
79646
80725
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79647
80726
|
}
|
|
79648
80727
|
},
|
|
79649
|
-
"summary": "
|
|
80728
|
+
"summary": "The markets this LO lends in",
|
|
79650
80729
|
"tags": [
|
|
79651
80730
|
"Originators"
|
|
79652
80731
|
]
|
|
79653
80732
|
}
|
|
79654
80733
|
},
|
|
79655
|
-
"/v1/originators/{nmlsId}/
|
|
80734
|
+
"/v1/originators/{nmlsId}/properties": {
|
|
79656
80735
|
"post": {
|
|
79657
|
-
"description": "
|
|
79658
|
-
"operationId": "
|
|
80736
|
+
"description": "Returns the parcels this loan officer is attributed to in public record — the reverse of the `parties` block on `GET /v1/properties/{id}`. Accepts the same filters, sorts and pagination as the main property search, so a caller can ask 'this LO's parcels in Travis County built after 2015' in one request. Attribution is ALL-TIME: a parcel stays in this LO's set after the loan is paid off, because the question is career reach rather than current book. An LO with no attributed parcels returns an empty page, not a 404 — the LO may be real and simply have nothing in the public record yet.",
|
|
80737
|
+
"operationId": "originatorProperties",
|
|
79659
80738
|
"parameters": [
|
|
79660
80739
|
{
|
|
79661
80740
|
"description": "Originator NMLS ID",
|
|
@@ -79672,7 +80751,7 @@
|
|
|
79672
80751
|
"content": {
|
|
79673
80752
|
"application/json": {
|
|
79674
80753
|
"schema": {
|
|
79675
|
-
"$ref": "#/components/schemas/
|
|
80754
|
+
"$ref": "#/components/schemas/PropertyListRequest"
|
|
79676
80755
|
}
|
|
79677
80756
|
}
|
|
79678
80757
|
}
|
|
@@ -79682,11 +80761,11 @@
|
|
|
79682
80761
|
"content": {
|
|
79683
80762
|
"application/json": {
|
|
79684
80763
|
"schema": {
|
|
79685
|
-
"$ref": "#/components/schemas/
|
|
80764
|
+
"$ref": "#/components/schemas/PropertyListResponse"
|
|
79686
80765
|
}
|
|
79687
80766
|
}
|
|
79688
80767
|
},
|
|
79689
|
-
"description": "
|
|
80768
|
+
"description": "Paginated list of parcels attributed to this LO"
|
|
79690
80769
|
},
|
|
79691
80770
|
"400": {
|
|
79692
80771
|
"content": {
|
|
@@ -79726,7 +80805,7 @@
|
|
|
79726
80805
|
}
|
|
79727
80806
|
}
|
|
79728
80807
|
},
|
|
79729
|
-
"description": "
|
|
80808
|
+
"description": "Not found"
|
|
79730
80809
|
},
|
|
79731
80810
|
"413": {
|
|
79732
80811
|
"content": {
|
|
@@ -79749,16 +80828,16 @@
|
|
|
79749
80828
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79750
80829
|
}
|
|
79751
80830
|
},
|
|
79752
|
-
"summary": "
|
|
80831
|
+
"summary": "Properties this loan officer has touched",
|
|
79753
80832
|
"tags": [
|
|
79754
80833
|
"Originators"
|
|
79755
80834
|
]
|
|
79756
80835
|
}
|
|
79757
80836
|
},
|
|
79758
|
-
"/v1/originators/{nmlsId}/
|
|
80837
|
+
"/v1/originators/{nmlsId}/retention": {
|
|
79759
80838
|
"post": {
|
|
79760
|
-
"description": "
|
|
79761
|
-
"operationId": "
|
|
80839
|
+
"description": "Classifies every loan this LO originated since 2017 against every later loan and MLS sale on the same parcel, for the period `start`–`end`: borrowers kept (the LO refinanced them again), lost (refinanced elsewhere — `churnedLoans`, with who captured them), sold, or a second lien taken elsewhere. Returns the summary, capture lanes (same funding lender vs other companies), capturing companies / LOs (top 25 + full-population totals), timing, monthly trend, the newest 500 loss rows, and exit signals on the retained book (`atRisk`). `compare` adds a second period's `summary` and monthly trend (`previous`) from the same scan. A very large book that cannot be read in time answers `status: \"timeout\"`.",
|
|
80840
|
+
"operationId": "originatorRetention",
|
|
79762
80841
|
"parameters": [
|
|
79763
80842
|
{
|
|
79764
80843
|
"description": "Originator NMLS ID",
|
|
@@ -79775,7 +80854,7 @@
|
|
|
79775
80854
|
"content": {
|
|
79776
80855
|
"application/json": {
|
|
79777
80856
|
"schema": {
|
|
79778
|
-
"$ref": "#/components/schemas/
|
|
80857
|
+
"$ref": "#/components/schemas/OriginatorRetentionRequest"
|
|
79779
80858
|
}
|
|
79780
80859
|
}
|
|
79781
80860
|
}
|
|
@@ -79785,11 +80864,11 @@
|
|
|
79785
80864
|
"content": {
|
|
79786
80865
|
"application/json": {
|
|
79787
80866
|
"schema": {
|
|
79788
|
-
"$ref": "#/components/schemas/
|
|
80867
|
+
"$ref": "#/components/schemas/OriginatorRetention"
|
|
79789
80868
|
}
|
|
79790
80869
|
}
|
|
79791
80870
|
},
|
|
79792
|
-
"description": "
|
|
80871
|
+
"description": "Retention report"
|
|
79793
80872
|
},
|
|
79794
80873
|
"400": {
|
|
79795
80874
|
"content": {
|
|
@@ -79852,7 +80931,7 @@
|
|
|
79852
80931
|
"description": "Search timed out or the cluster is overloaded — retry after `Retry-After` seconds."
|
|
79853
80932
|
}
|
|
79854
80933
|
},
|
|
79855
|
-
"summary": "
|
|
80934
|
+
"summary": "Borrower retention report for this LO",
|
|
79856
80935
|
"tags": [
|
|
79857
80936
|
"Originators"
|
|
79858
80937
|
]
|