@model-match/api 3.3.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-DFL1FkwE.d.mts +5342 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.mjs +2 -0
- package/dist/slim/index.d.mts +387 -0
- package/dist/slim/index.mjs +1699 -0
- package/dist/src-rXinkwPB.mjs +1769 -0
- package/openapi.json +13263 -0
- package/package.json +49 -0
|
@@ -0,0 +1,1699 @@
|
|
|
1
|
+
import { h as client, n as createClient } from "../src-rXinkwPB.mjs";
|
|
2
|
+
//#region src/slim/sdk.gen.ts
|
|
3
|
+
/**
|
|
4
|
+
* Search agents with filters
|
|
5
|
+
*/
|
|
6
|
+
const listAgents = (options) => {
|
|
7
|
+
return (options?.client ?? client).post({
|
|
8
|
+
security: [{
|
|
9
|
+
name: "x-api-key",
|
|
10
|
+
type: "apiKey"
|
|
11
|
+
}, {
|
|
12
|
+
scheme: "bearer",
|
|
13
|
+
type: "http"
|
|
14
|
+
}],
|
|
15
|
+
url: "/v1/agents",
|
|
16
|
+
...options,
|
|
17
|
+
headers: {
|
|
18
|
+
"Content-Type": "application/json",
|
|
19
|
+
...options?.headers
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Get agent by ID (with legacy_mma_ids fallback)
|
|
25
|
+
*/
|
|
26
|
+
const getAgent = (options) => {
|
|
27
|
+
return (options.client ?? client).get({
|
|
28
|
+
security: [{
|
|
29
|
+
name: "x-api-key",
|
|
30
|
+
type: "apiKey"
|
|
31
|
+
}, {
|
|
32
|
+
scheme: "bearer",
|
|
33
|
+
type: "http"
|
|
34
|
+
}],
|
|
35
|
+
url: "/v1/agents/{id}",
|
|
36
|
+
...options
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Production summary with buyer/seller/dual split + previous period
|
|
41
|
+
*/
|
|
42
|
+
const agentAnalyticsSummary = (options) => {
|
|
43
|
+
return (options?.client ?? client).post({
|
|
44
|
+
security: [{
|
|
45
|
+
name: "x-api-key",
|
|
46
|
+
type: "apiKey"
|
|
47
|
+
}, {
|
|
48
|
+
scheme: "bearer",
|
|
49
|
+
type: "http"
|
|
50
|
+
}],
|
|
51
|
+
url: "/v1/agents/analytics/summary",
|
|
52
|
+
...options,
|
|
53
|
+
headers: {
|
|
54
|
+
"Content-Type": "application/json",
|
|
55
|
+
...options?.headers
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* Agent volume/units over time with buyer/seller/dual split
|
|
61
|
+
*/
|
|
62
|
+
const agentAnalyticsTimeSeries = (options) => {
|
|
63
|
+
return (options?.client ?? client).post({
|
|
64
|
+
security: [{
|
|
65
|
+
name: "x-api-key",
|
|
66
|
+
type: "apiKey"
|
|
67
|
+
}, {
|
|
68
|
+
scheme: "bearer",
|
|
69
|
+
type: "http"
|
|
70
|
+
}],
|
|
71
|
+
url: "/v1/agents/analytics/time-series",
|
|
72
|
+
...options,
|
|
73
|
+
headers: {
|
|
74
|
+
"Content-Type": "application/json",
|
|
75
|
+
...options?.headers
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Configurable chart (measure × slice) over the agent's sales
|
|
81
|
+
*/
|
|
82
|
+
const agentAnalyticsChart = (options) => {
|
|
83
|
+
return (options?.client ?? client).post({
|
|
84
|
+
security: [{
|
|
85
|
+
name: "x-api-key",
|
|
86
|
+
type: "apiKey"
|
|
87
|
+
}, {
|
|
88
|
+
scheme: "bearer",
|
|
89
|
+
type: "http"
|
|
90
|
+
}],
|
|
91
|
+
url: "/v1/agents/analytics/chart",
|
|
92
|
+
...options,
|
|
93
|
+
headers: {
|
|
94
|
+
"Content-Type": "application/json",
|
|
95
|
+
...options?.headers
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Sales transactions where this agent was listing or selling side
|
|
101
|
+
*/
|
|
102
|
+
const agentSales = (options) => {
|
|
103
|
+
return (options.client ?? client).post({
|
|
104
|
+
security: [{
|
|
105
|
+
name: "x-api-key",
|
|
106
|
+
type: "apiKey"
|
|
107
|
+
}, {
|
|
108
|
+
scheme: "bearer",
|
|
109
|
+
type: "http"
|
|
110
|
+
}],
|
|
111
|
+
url: "/v1/agents/{id}/sales",
|
|
112
|
+
...options,
|
|
113
|
+
headers: {
|
|
114
|
+
"Content-Type": "application/json",
|
|
115
|
+
...options?.headers
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Properties this agent has transacted on
|
|
121
|
+
*/
|
|
122
|
+
const agentProperties = (options) => {
|
|
123
|
+
return (options.client ?? client).post({
|
|
124
|
+
security: [{
|
|
125
|
+
name: "x-api-key",
|
|
126
|
+
type: "apiKey"
|
|
127
|
+
}, {
|
|
128
|
+
scheme: "bearer",
|
|
129
|
+
type: "http"
|
|
130
|
+
}],
|
|
131
|
+
url: "/v1/agents/{id}/properties",
|
|
132
|
+
...options,
|
|
133
|
+
headers: {
|
|
134
|
+
"Content-Type": "application/json",
|
|
135
|
+
...options?.headers
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Listing offices the agent has closed through
|
|
141
|
+
*/
|
|
142
|
+
const agentOffices = (options) => {
|
|
143
|
+
return (options.client ?? client).post({
|
|
144
|
+
security: [{
|
|
145
|
+
name: "x-api-key",
|
|
146
|
+
type: "apiKey"
|
|
147
|
+
}, {
|
|
148
|
+
scheme: "bearer",
|
|
149
|
+
type: "http"
|
|
150
|
+
}],
|
|
151
|
+
url: "/v1/agents/{id}/breakdowns/offices",
|
|
152
|
+
...options,
|
|
153
|
+
headers: {
|
|
154
|
+
"Content-Type": "application/json",
|
|
155
|
+
...options?.headers
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* City volume breakdown across the agent's sales
|
|
161
|
+
*/
|
|
162
|
+
const agentCities = (options) => {
|
|
163
|
+
return (options.client ?? client).post({
|
|
164
|
+
security: [{
|
|
165
|
+
name: "x-api-key",
|
|
166
|
+
type: "apiKey"
|
|
167
|
+
}, {
|
|
168
|
+
scheme: "bearer",
|
|
169
|
+
type: "http"
|
|
170
|
+
}],
|
|
171
|
+
url: "/v1/agents/{id}/breakdowns/cities",
|
|
172
|
+
...options,
|
|
173
|
+
headers: {
|
|
174
|
+
"Content-Type": "application/json",
|
|
175
|
+
...options?.headers
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* County (FIPS) volume breakdown
|
|
181
|
+
*/
|
|
182
|
+
const agentCounties = (options) => {
|
|
183
|
+
return (options.client ?? client).post({
|
|
184
|
+
security: [{
|
|
185
|
+
name: "x-api-key",
|
|
186
|
+
type: "apiKey"
|
|
187
|
+
}, {
|
|
188
|
+
scheme: "bearer",
|
|
189
|
+
type: "http"
|
|
190
|
+
}],
|
|
191
|
+
url: "/v1/agents/{id}/breakdowns/counties",
|
|
192
|
+
...options,
|
|
193
|
+
headers: {
|
|
194
|
+
"Content-Type": "application/json",
|
|
195
|
+
...options?.headers
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
};
|
|
199
|
+
/**
|
|
200
|
+
* State volume breakdown
|
|
201
|
+
*/
|
|
202
|
+
const agentStates = (options) => {
|
|
203
|
+
return (options.client ?? client).post({
|
|
204
|
+
security: [{
|
|
205
|
+
name: "x-api-key",
|
|
206
|
+
type: "apiKey"
|
|
207
|
+
}, {
|
|
208
|
+
scheme: "bearer",
|
|
209
|
+
type: "http"
|
|
210
|
+
}],
|
|
211
|
+
url: "/v1/agents/{id}/breakdowns/states",
|
|
212
|
+
...options,
|
|
213
|
+
headers: {
|
|
214
|
+
"Content-Type": "application/json",
|
|
215
|
+
...options?.headers
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
};
|
|
219
|
+
/**
|
|
220
|
+
* Zip-code volume breakdown
|
|
221
|
+
*/
|
|
222
|
+
const agentZipCodes = (options) => {
|
|
223
|
+
return (options.client ?? client).post({
|
|
224
|
+
security: [{
|
|
225
|
+
name: "x-api-key",
|
|
226
|
+
type: "apiKey"
|
|
227
|
+
}, {
|
|
228
|
+
scheme: "bearer",
|
|
229
|
+
type: "http"
|
|
230
|
+
}],
|
|
231
|
+
url: "/v1/agents/{id}/breakdowns/zip-codes",
|
|
232
|
+
...options,
|
|
233
|
+
headers: {
|
|
234
|
+
"Content-Type": "application/json",
|
|
235
|
+
...options?.headers
|
|
236
|
+
}
|
|
237
|
+
});
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* Loan officers the agent worked with (pre-aggregated)
|
|
241
|
+
*/
|
|
242
|
+
const agentOriginators = (options) => {
|
|
243
|
+
return (options.client ?? client).post({
|
|
244
|
+
security: [{
|
|
245
|
+
name: "x-api-key",
|
|
246
|
+
type: "apiKey"
|
|
247
|
+
}, {
|
|
248
|
+
scheme: "bearer",
|
|
249
|
+
type: "http"
|
|
250
|
+
}],
|
|
251
|
+
url: "/v1/agents/{id}/breakdowns/originators",
|
|
252
|
+
...options,
|
|
253
|
+
headers: {
|
|
254
|
+
"Content-Type": "application/json",
|
|
255
|
+
...options?.headers
|
|
256
|
+
}
|
|
257
|
+
});
|
|
258
|
+
};
|
|
259
|
+
/**
|
|
260
|
+
* Mortgage companies the agent dealt with (pre-aggregated)
|
|
261
|
+
*/
|
|
262
|
+
const agentCompanies = (options) => {
|
|
263
|
+
return (options.client ?? client).post({
|
|
264
|
+
security: [{
|
|
265
|
+
name: "x-api-key",
|
|
266
|
+
type: "apiKey"
|
|
267
|
+
}, {
|
|
268
|
+
scheme: "bearer",
|
|
269
|
+
type: "http"
|
|
270
|
+
}],
|
|
271
|
+
url: "/v1/agents/{id}/breakdowns/companies",
|
|
272
|
+
...options,
|
|
273
|
+
headers: {
|
|
274
|
+
"Content-Type": "application/json",
|
|
275
|
+
...options?.headers
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
};
|
|
279
|
+
/**
|
|
280
|
+
* Raw-name lenders encountered (pre-aggregated)
|
|
281
|
+
*/
|
|
282
|
+
const agentLenders = (options) => {
|
|
283
|
+
return (options.client ?? client).post({
|
|
284
|
+
security: [{
|
|
285
|
+
name: "x-api-key",
|
|
286
|
+
type: "apiKey"
|
|
287
|
+
}, {
|
|
288
|
+
scheme: "bearer",
|
|
289
|
+
type: "http"
|
|
290
|
+
}],
|
|
291
|
+
url: "/v1/agents/{id}/breakdowns/lenders",
|
|
292
|
+
...options,
|
|
293
|
+
headers: {
|
|
294
|
+
"Content-Type": "application/json",
|
|
295
|
+
...options?.headers
|
|
296
|
+
}
|
|
297
|
+
});
|
|
298
|
+
};
|
|
299
|
+
/**
|
|
300
|
+
* Submit a bulk-delivery job for agents
|
|
301
|
+
* Queues an ECS task that dumps every matching agents document (subject to the org's `bulk-delivery.agents` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /agents/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
302
|
+
*/
|
|
303
|
+
const submitAgentsBulkDelivery = (options) => {
|
|
304
|
+
return (options?.client ?? client).post({
|
|
305
|
+
security: [{
|
|
306
|
+
name: "x-api-key",
|
|
307
|
+
type: "apiKey"
|
|
308
|
+
}, {
|
|
309
|
+
scheme: "bearer",
|
|
310
|
+
type: "http"
|
|
311
|
+
}],
|
|
312
|
+
url: "/v1/agents/bulk-delivery",
|
|
313
|
+
...options,
|
|
314
|
+
headers: {
|
|
315
|
+
"Content-Type": "application/json",
|
|
316
|
+
...options?.headers
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
};
|
|
320
|
+
/**
|
|
321
|
+
* Get bulk-delivery job status for agents
|
|
322
|
+
*/
|
|
323
|
+
const getAgentsBulkDeliveryJob = (options) => {
|
|
324
|
+
return (options.client ?? client).get({
|
|
325
|
+
security: [{
|
|
326
|
+
name: "x-api-key",
|
|
327
|
+
type: "apiKey"
|
|
328
|
+
}, {
|
|
329
|
+
scheme: "bearer",
|
|
330
|
+
type: "http"
|
|
331
|
+
}],
|
|
332
|
+
url: "/v1/agents/bulk-delivery/{jobId}",
|
|
333
|
+
...options
|
|
334
|
+
});
|
|
335
|
+
};
|
|
336
|
+
/**
|
|
337
|
+
* Search branches with filters
|
|
338
|
+
* Search NMLS-registered mortgage company branch offices (not MLS real estate offices — use listOffices for those). Returns branch name, address, parent company, managers, and NMLS ID. Each row is enriched with the parent company's period production metrics.
|
|
339
|
+
*/
|
|
340
|
+
const listBranches = (options) => {
|
|
341
|
+
return (options?.client ?? client).post({
|
|
342
|
+
security: [{
|
|
343
|
+
name: "x-api-key",
|
|
344
|
+
type: "apiKey"
|
|
345
|
+
}, {
|
|
346
|
+
scheme: "bearer",
|
|
347
|
+
type: "http"
|
|
348
|
+
}],
|
|
349
|
+
url: "/v1/branches",
|
|
350
|
+
...options,
|
|
351
|
+
headers: {
|
|
352
|
+
"Content-Type": "application/json",
|
|
353
|
+
...options?.headers
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* Get branch by NMLS ID
|
|
359
|
+
* Retrieve full details for a single NMLS mortgage branch including name, address, parent company, managers, trade names, and licensing.
|
|
360
|
+
*/
|
|
361
|
+
const getBranch = (options) => {
|
|
362
|
+
return (options.client ?? client).get({
|
|
363
|
+
security: [{
|
|
364
|
+
name: "x-api-key",
|
|
365
|
+
type: "apiKey"
|
|
366
|
+
}, {
|
|
367
|
+
scheme: "bearer",
|
|
368
|
+
type: "http"
|
|
369
|
+
}],
|
|
370
|
+
url: "/v1/branches/{nmlsId}",
|
|
371
|
+
...options
|
|
372
|
+
});
|
|
373
|
+
};
|
|
374
|
+
/**
|
|
375
|
+
* Submit a bulk-delivery job for branches
|
|
376
|
+
* Queues an ECS task that dumps every matching branches document (subject to the org's `bulk-delivery.branches` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /branches/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
377
|
+
*/
|
|
378
|
+
const submitBranchesBulkDelivery = (options) => {
|
|
379
|
+
return (options?.client ?? client).post({
|
|
380
|
+
security: [{
|
|
381
|
+
name: "x-api-key",
|
|
382
|
+
type: "apiKey"
|
|
383
|
+
}, {
|
|
384
|
+
scheme: "bearer",
|
|
385
|
+
type: "http"
|
|
386
|
+
}],
|
|
387
|
+
url: "/v1/branches/bulk-delivery",
|
|
388
|
+
...options,
|
|
389
|
+
headers: {
|
|
390
|
+
"Content-Type": "application/json",
|
|
391
|
+
...options?.headers
|
|
392
|
+
}
|
|
393
|
+
});
|
|
394
|
+
};
|
|
395
|
+
/**
|
|
396
|
+
* Get bulk-delivery job status for branches
|
|
397
|
+
*/
|
|
398
|
+
const getBranchesBulkDeliveryJob = (options) => {
|
|
399
|
+
return (options.client ?? client).get({
|
|
400
|
+
security: [{
|
|
401
|
+
name: "x-api-key",
|
|
402
|
+
type: "apiKey"
|
|
403
|
+
}, {
|
|
404
|
+
scheme: "bearer",
|
|
405
|
+
type: "http"
|
|
406
|
+
}],
|
|
407
|
+
url: "/v1/branches/bulk-delivery/{jobId}",
|
|
408
|
+
...options
|
|
409
|
+
});
|
|
410
|
+
};
|
|
411
|
+
/**
|
|
412
|
+
* Search companies with filters
|
|
413
|
+
*/
|
|
414
|
+
const listCompanies = (options) => {
|
|
415
|
+
return (options?.client ?? client).post({
|
|
416
|
+
security: [{
|
|
417
|
+
name: "x-api-key",
|
|
418
|
+
type: "apiKey"
|
|
419
|
+
}, {
|
|
420
|
+
scheme: "bearer",
|
|
421
|
+
type: "http"
|
|
422
|
+
}],
|
|
423
|
+
url: "/v1/companies",
|
|
424
|
+
...options,
|
|
425
|
+
headers: {
|
|
426
|
+
"Content-Type": "application/json",
|
|
427
|
+
...options?.headers
|
|
428
|
+
}
|
|
429
|
+
});
|
|
430
|
+
};
|
|
431
|
+
/**
|
|
432
|
+
* Get company by NMLS ID
|
|
433
|
+
*/
|
|
434
|
+
const getCompany = (options) => {
|
|
435
|
+
return (options.client ?? client).get({
|
|
436
|
+
security: [{
|
|
437
|
+
name: "x-api-key",
|
|
438
|
+
type: "apiKey"
|
|
439
|
+
}, {
|
|
440
|
+
scheme: "bearer",
|
|
441
|
+
type: "http"
|
|
442
|
+
}],
|
|
443
|
+
url: "/v1/companies/{nmlsId}",
|
|
444
|
+
...options
|
|
445
|
+
});
|
|
446
|
+
};
|
|
447
|
+
/**
|
|
448
|
+
* Production summary with previous-period comparison
|
|
449
|
+
*/
|
|
450
|
+
const companyAnalyticsSummary = (options) => {
|
|
451
|
+
return (options?.client ?? client).post({
|
|
452
|
+
security: [{
|
|
453
|
+
name: "x-api-key",
|
|
454
|
+
type: "apiKey"
|
|
455
|
+
}, {
|
|
456
|
+
scheme: "bearer",
|
|
457
|
+
type: "http"
|
|
458
|
+
}],
|
|
459
|
+
url: "/v1/companies/analytics/summary",
|
|
460
|
+
...options,
|
|
461
|
+
headers: {
|
|
462
|
+
"Content-Type": "application/json",
|
|
463
|
+
...options?.headers
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
};
|
|
467
|
+
/**
|
|
468
|
+
* Company volume / units over time
|
|
469
|
+
*/
|
|
470
|
+
const companyAnalyticsTimeSeries = (options) => {
|
|
471
|
+
return (options?.client ?? client).post({
|
|
472
|
+
security: [{
|
|
473
|
+
name: "x-api-key",
|
|
474
|
+
type: "apiKey"
|
|
475
|
+
}, {
|
|
476
|
+
scheme: "bearer",
|
|
477
|
+
type: "http"
|
|
478
|
+
}],
|
|
479
|
+
url: "/v1/companies/analytics/time-series",
|
|
480
|
+
...options,
|
|
481
|
+
headers: {
|
|
482
|
+
"Content-Type": "application/json",
|
|
483
|
+
...options?.headers
|
|
484
|
+
}
|
|
485
|
+
});
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
* Configurable chart (measure × slice) over company's loans
|
|
489
|
+
*/
|
|
490
|
+
const companyAnalyticsChart = (options) => {
|
|
491
|
+
return (options?.client ?? client).post({
|
|
492
|
+
security: [{
|
|
493
|
+
name: "x-api-key",
|
|
494
|
+
type: "apiKey"
|
|
495
|
+
}, {
|
|
496
|
+
scheme: "bearer",
|
|
497
|
+
type: "http"
|
|
498
|
+
}],
|
|
499
|
+
url: "/v1/companies/analytics/chart",
|
|
500
|
+
...options,
|
|
501
|
+
headers: {
|
|
502
|
+
"Content-Type": "application/json",
|
|
503
|
+
...options?.headers
|
|
504
|
+
}
|
|
505
|
+
});
|
|
506
|
+
};
|
|
507
|
+
/**
|
|
508
|
+
* Loan originators sponsored by this company
|
|
509
|
+
*/
|
|
510
|
+
const companySponsoredIndividuals = (options) => {
|
|
511
|
+
return (options.client ?? client).post({
|
|
512
|
+
security: [{
|
|
513
|
+
name: "x-api-key",
|
|
514
|
+
type: "apiKey"
|
|
515
|
+
}, {
|
|
516
|
+
scheme: "bearer",
|
|
517
|
+
type: "http"
|
|
518
|
+
}],
|
|
519
|
+
url: "/v1/companies/{nmlsId}/sponsored-individuals",
|
|
520
|
+
...options,
|
|
521
|
+
headers: {
|
|
522
|
+
"Content-Type": "application/json",
|
|
523
|
+
...options?.headers
|
|
524
|
+
}
|
|
525
|
+
});
|
|
526
|
+
};
|
|
527
|
+
/**
|
|
528
|
+
* Branch locations for this company
|
|
529
|
+
*/
|
|
530
|
+
const companyBranches = (options) => {
|
|
531
|
+
return (options.client ?? client).post({
|
|
532
|
+
security: [{
|
|
533
|
+
name: "x-api-key",
|
|
534
|
+
type: "apiKey"
|
|
535
|
+
}, {
|
|
536
|
+
scheme: "bearer",
|
|
537
|
+
type: "http"
|
|
538
|
+
}],
|
|
539
|
+
url: "/v1/companies/{nmlsId}/branches",
|
|
540
|
+
...options,
|
|
541
|
+
headers: {
|
|
542
|
+
"Content-Type": "application/json",
|
|
543
|
+
...options?.headers
|
|
544
|
+
}
|
|
545
|
+
});
|
|
546
|
+
};
|
|
547
|
+
/**
|
|
548
|
+
* Loan officers who originated through this company
|
|
549
|
+
*/
|
|
550
|
+
const companyOriginators = (options) => {
|
|
551
|
+
return (options.client ?? client).post({
|
|
552
|
+
security: [{
|
|
553
|
+
name: "x-api-key",
|
|
554
|
+
type: "apiKey"
|
|
555
|
+
}, {
|
|
556
|
+
scheme: "bearer",
|
|
557
|
+
type: "http"
|
|
558
|
+
}],
|
|
559
|
+
url: "/v1/companies/{nmlsId}/breakdowns/originators",
|
|
560
|
+
...options,
|
|
561
|
+
headers: {
|
|
562
|
+
"Content-Type": "application/json",
|
|
563
|
+
...options?.headers
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
};
|
|
567
|
+
/**
|
|
568
|
+
* Lenders this company originated through
|
|
569
|
+
*/
|
|
570
|
+
const companyLenders = (options) => {
|
|
571
|
+
return (options.client ?? client).post({
|
|
572
|
+
security: [{
|
|
573
|
+
name: "x-api-key",
|
|
574
|
+
type: "apiKey"
|
|
575
|
+
}, {
|
|
576
|
+
scheme: "bearer",
|
|
577
|
+
type: "http"
|
|
578
|
+
}],
|
|
579
|
+
url: "/v1/companies/{nmlsId}/breakdowns/lenders",
|
|
580
|
+
...options,
|
|
581
|
+
headers: {
|
|
582
|
+
"Content-Type": "application/json",
|
|
583
|
+
...options?.headers
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
};
|
|
587
|
+
/**
|
|
588
|
+
* Broker offices this company originated through
|
|
589
|
+
*/
|
|
590
|
+
const companyOffices = (options) => {
|
|
591
|
+
return (options.client ?? client).post({
|
|
592
|
+
security: [{
|
|
593
|
+
name: "x-api-key",
|
|
594
|
+
type: "apiKey"
|
|
595
|
+
}, {
|
|
596
|
+
scheme: "bearer",
|
|
597
|
+
type: "http"
|
|
598
|
+
}],
|
|
599
|
+
url: "/v1/companies/{nmlsId}/breakdowns/offices",
|
|
600
|
+
...options,
|
|
601
|
+
headers: {
|
|
602
|
+
"Content-Type": "application/json",
|
|
603
|
+
...options?.headers
|
|
604
|
+
}
|
|
605
|
+
});
|
|
606
|
+
};
|
|
607
|
+
/**
|
|
608
|
+
* City volume breakdown across this company's loans
|
|
609
|
+
*/
|
|
610
|
+
const companyCities = (options) => {
|
|
611
|
+
return (options.client ?? client).post({
|
|
612
|
+
security: [{
|
|
613
|
+
name: "x-api-key",
|
|
614
|
+
type: "apiKey"
|
|
615
|
+
}, {
|
|
616
|
+
scheme: "bearer",
|
|
617
|
+
type: "http"
|
|
618
|
+
}],
|
|
619
|
+
url: "/v1/companies/{nmlsId}/breakdowns/cities",
|
|
620
|
+
...options,
|
|
621
|
+
headers: {
|
|
622
|
+
"Content-Type": "application/json",
|
|
623
|
+
...options?.headers
|
|
624
|
+
}
|
|
625
|
+
});
|
|
626
|
+
};
|
|
627
|
+
/**
|
|
628
|
+
* State volume breakdown across this company's loans
|
|
629
|
+
*/
|
|
630
|
+
const companyStates = (options) => {
|
|
631
|
+
return (options.client ?? client).post({
|
|
632
|
+
security: [{
|
|
633
|
+
name: "x-api-key",
|
|
634
|
+
type: "apiKey"
|
|
635
|
+
}, {
|
|
636
|
+
scheme: "bearer",
|
|
637
|
+
type: "http"
|
|
638
|
+
}],
|
|
639
|
+
url: "/v1/companies/{nmlsId}/breakdowns/states",
|
|
640
|
+
...options,
|
|
641
|
+
headers: {
|
|
642
|
+
"Content-Type": "application/json",
|
|
643
|
+
...options?.headers
|
|
644
|
+
}
|
|
645
|
+
});
|
|
646
|
+
};
|
|
647
|
+
/**
|
|
648
|
+
* County (FIPS) volume breakdown across this company's loans
|
|
649
|
+
*/
|
|
650
|
+
const companyCounties = (options) => {
|
|
651
|
+
return (options.client ?? client).post({
|
|
652
|
+
security: [{
|
|
653
|
+
name: "x-api-key",
|
|
654
|
+
type: "apiKey"
|
|
655
|
+
}, {
|
|
656
|
+
scheme: "bearer",
|
|
657
|
+
type: "http"
|
|
658
|
+
}],
|
|
659
|
+
url: "/v1/companies/{nmlsId}/breakdowns/counties",
|
|
660
|
+
...options,
|
|
661
|
+
headers: {
|
|
662
|
+
"Content-Type": "application/json",
|
|
663
|
+
...options?.headers
|
|
664
|
+
}
|
|
665
|
+
});
|
|
666
|
+
};
|
|
667
|
+
/**
|
|
668
|
+
* Analyze LO arrivals and departures for a company
|
|
669
|
+
*/
|
|
670
|
+
const companySponsorshipMovement = (options) => {
|
|
671
|
+
return (options.client ?? client).post({
|
|
672
|
+
security: [{
|
|
673
|
+
name: "x-api-key",
|
|
674
|
+
type: "apiKey"
|
|
675
|
+
}, {
|
|
676
|
+
scheme: "bearer",
|
|
677
|
+
type: "http"
|
|
678
|
+
}],
|
|
679
|
+
url: "/v1/companies/{nmlsId}/sponsorship-movement",
|
|
680
|
+
...options,
|
|
681
|
+
headers: {
|
|
682
|
+
"Content-Type": "application/json",
|
|
683
|
+
...options?.headers
|
|
684
|
+
}
|
|
685
|
+
});
|
|
686
|
+
};
|
|
687
|
+
/**
|
|
688
|
+
* Submit a bulk-delivery job for companies
|
|
689
|
+
* Queues an ECS task that dumps every matching companies document (subject to the org's `bulk-delivery.companies` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /companies/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
690
|
+
*/
|
|
691
|
+
const submitCompaniesBulkDelivery = (options) => {
|
|
692
|
+
return (options?.client ?? client).post({
|
|
693
|
+
security: [{
|
|
694
|
+
name: "x-api-key",
|
|
695
|
+
type: "apiKey"
|
|
696
|
+
}, {
|
|
697
|
+
scheme: "bearer",
|
|
698
|
+
type: "http"
|
|
699
|
+
}],
|
|
700
|
+
url: "/v1/companies/bulk-delivery",
|
|
701
|
+
...options,
|
|
702
|
+
headers: {
|
|
703
|
+
"Content-Type": "application/json",
|
|
704
|
+
...options?.headers
|
|
705
|
+
}
|
|
706
|
+
});
|
|
707
|
+
};
|
|
708
|
+
/**
|
|
709
|
+
* Get bulk-delivery job status for companies
|
|
710
|
+
*/
|
|
711
|
+
const getCompaniesBulkDeliveryJob = (options) => {
|
|
712
|
+
return (options.client ?? client).get({
|
|
713
|
+
security: [{
|
|
714
|
+
name: "x-api-key",
|
|
715
|
+
type: "apiKey"
|
|
716
|
+
}, {
|
|
717
|
+
scheme: "bearer",
|
|
718
|
+
type: "http"
|
|
719
|
+
}],
|
|
720
|
+
url: "/v1/companies/bulk-delivery/{jobId}",
|
|
721
|
+
...options
|
|
722
|
+
});
|
|
723
|
+
};
|
|
724
|
+
/**
|
|
725
|
+
* Instant multi-entity typeahead search
|
|
726
|
+
* Fast typeahead/autocomplete search across agents, originators, companies, and offices. Returns top matches per entity type. Use this for quick name lookups, not for filtered searches (use the entity-specific list endpoints for those).
|
|
727
|
+
*/
|
|
728
|
+
const instantSearch = (options) => {
|
|
729
|
+
return (options?.client ?? client).post({
|
|
730
|
+
security: [{
|
|
731
|
+
name: "x-api-key",
|
|
732
|
+
type: "apiKey"
|
|
733
|
+
}, {
|
|
734
|
+
scheme: "bearer",
|
|
735
|
+
type: "http"
|
|
736
|
+
}],
|
|
737
|
+
url: "/v1/instant-search",
|
|
738
|
+
...options,
|
|
739
|
+
headers: {
|
|
740
|
+
"Content-Type": "application/json",
|
|
741
|
+
...options?.headers
|
|
742
|
+
}
|
|
743
|
+
});
|
|
744
|
+
};
|
|
745
|
+
/**
|
|
746
|
+
* Search lenders with filters
|
|
747
|
+
*/
|
|
748
|
+
const listLenders = (options) => {
|
|
749
|
+
return (options?.client ?? client).post({
|
|
750
|
+
security: [{
|
|
751
|
+
name: "x-api-key",
|
|
752
|
+
type: "apiKey"
|
|
753
|
+
}, {
|
|
754
|
+
scheme: "bearer",
|
|
755
|
+
type: "http"
|
|
756
|
+
}],
|
|
757
|
+
url: "/v1/lenders",
|
|
758
|
+
...options,
|
|
759
|
+
headers: {
|
|
760
|
+
"Content-Type": "application/json",
|
|
761
|
+
...options?.headers
|
|
762
|
+
}
|
|
763
|
+
});
|
|
764
|
+
};
|
|
765
|
+
/**
|
|
766
|
+
* Get lender by ID
|
|
767
|
+
*/
|
|
768
|
+
const getLender = (options) => {
|
|
769
|
+
return (options.client ?? client).get({
|
|
770
|
+
security: [{
|
|
771
|
+
name: "x-api-key",
|
|
772
|
+
type: "apiKey"
|
|
773
|
+
}, {
|
|
774
|
+
scheme: "bearer",
|
|
775
|
+
type: "http"
|
|
776
|
+
}],
|
|
777
|
+
url: "/v1/lenders/{id}",
|
|
778
|
+
...options
|
|
779
|
+
});
|
|
780
|
+
};
|
|
781
|
+
/**
|
|
782
|
+
* Search loans with filters
|
|
783
|
+
*/
|
|
784
|
+
const listLoans = (options) => {
|
|
785
|
+
return (options?.client ?? client).post({
|
|
786
|
+
security: [{
|
|
787
|
+
name: "x-api-key",
|
|
788
|
+
type: "apiKey"
|
|
789
|
+
}, {
|
|
790
|
+
scheme: "bearer",
|
|
791
|
+
type: "http"
|
|
792
|
+
}],
|
|
793
|
+
url: "/v1/loans",
|
|
794
|
+
...options,
|
|
795
|
+
headers: {
|
|
796
|
+
"Content-Type": "application/json",
|
|
797
|
+
...options?.headers
|
|
798
|
+
}
|
|
799
|
+
});
|
|
800
|
+
};
|
|
801
|
+
/**
|
|
802
|
+
* Get loan by ID
|
|
803
|
+
*/
|
|
804
|
+
const getLoan = (options) => {
|
|
805
|
+
return (options.client ?? client).get({
|
|
806
|
+
security: [{
|
|
807
|
+
name: "x-api-key",
|
|
808
|
+
type: "apiKey"
|
|
809
|
+
}, {
|
|
810
|
+
scheme: "bearer",
|
|
811
|
+
type: "http"
|
|
812
|
+
}],
|
|
813
|
+
url: "/v1/loans/{id}",
|
|
814
|
+
...options
|
|
815
|
+
});
|
|
816
|
+
};
|
|
817
|
+
/**
|
|
818
|
+
* Market summary with previous-period comparison
|
|
819
|
+
*/
|
|
820
|
+
const loansAnalyticsSummary = (options) => {
|
|
821
|
+
return (options?.client ?? client).post({
|
|
822
|
+
security: [{
|
|
823
|
+
name: "x-api-key",
|
|
824
|
+
type: "apiKey"
|
|
825
|
+
}, {
|
|
826
|
+
scheme: "bearer",
|
|
827
|
+
type: "http"
|
|
828
|
+
}],
|
|
829
|
+
url: "/v1/loans/analytics/summary",
|
|
830
|
+
...options,
|
|
831
|
+
headers: {
|
|
832
|
+
"Content-Type": "application/json",
|
|
833
|
+
...options?.headers
|
|
834
|
+
}
|
|
835
|
+
});
|
|
836
|
+
};
|
|
837
|
+
/**
|
|
838
|
+
* Volume / units over time
|
|
839
|
+
*/
|
|
840
|
+
const loansAnalyticsTimeSeries = (options) => {
|
|
841
|
+
return (options?.client ?? client).post({
|
|
842
|
+
security: [{
|
|
843
|
+
name: "x-api-key",
|
|
844
|
+
type: "apiKey"
|
|
845
|
+
}, {
|
|
846
|
+
scheme: "bearer",
|
|
847
|
+
type: "http"
|
|
848
|
+
}],
|
|
849
|
+
url: "/v1/loans/analytics/time-series",
|
|
850
|
+
...options,
|
|
851
|
+
headers: {
|
|
852
|
+
"Content-Type": "application/json",
|
|
853
|
+
...options?.headers
|
|
854
|
+
}
|
|
855
|
+
});
|
|
856
|
+
};
|
|
857
|
+
/**
|
|
858
|
+
* Configurable chart data (measure × slice)
|
|
859
|
+
*/
|
|
860
|
+
const loansAnalyticsChart = (options) => {
|
|
861
|
+
return (options?.client ?? client).post({
|
|
862
|
+
security: [{
|
|
863
|
+
name: "x-api-key",
|
|
864
|
+
type: "apiKey"
|
|
865
|
+
}, {
|
|
866
|
+
scheme: "bearer",
|
|
867
|
+
type: "http"
|
|
868
|
+
}],
|
|
869
|
+
url: "/v1/loans/analytics/chart",
|
|
870
|
+
...options,
|
|
871
|
+
headers: {
|
|
872
|
+
"Content-Type": "application/json",
|
|
873
|
+
...options?.headers
|
|
874
|
+
}
|
|
875
|
+
});
|
|
876
|
+
};
|
|
877
|
+
/**
|
|
878
|
+
* Submit a bulk-delivery job for loans
|
|
879
|
+
* Queues an ECS task that dumps every matching loans document (subject to the org's `bulk-delivery.loans` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /loans/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
880
|
+
*/
|
|
881
|
+
const submitLoansBulkDelivery = (options) => {
|
|
882
|
+
return (options?.client ?? client).post({
|
|
883
|
+
security: [{
|
|
884
|
+
name: "x-api-key",
|
|
885
|
+
type: "apiKey"
|
|
886
|
+
}, {
|
|
887
|
+
scheme: "bearer",
|
|
888
|
+
type: "http"
|
|
889
|
+
}],
|
|
890
|
+
url: "/v1/loans/bulk-delivery",
|
|
891
|
+
...options,
|
|
892
|
+
headers: {
|
|
893
|
+
"Content-Type": "application/json",
|
|
894
|
+
...options?.headers
|
|
895
|
+
}
|
|
896
|
+
});
|
|
897
|
+
};
|
|
898
|
+
/**
|
|
899
|
+
* Get bulk-delivery job status for loans
|
|
900
|
+
*/
|
|
901
|
+
const getLoansBulkDeliveryJob = (options) => {
|
|
902
|
+
return (options.client ?? client).get({
|
|
903
|
+
security: [{
|
|
904
|
+
name: "x-api-key",
|
|
905
|
+
type: "apiKey"
|
|
906
|
+
}, {
|
|
907
|
+
scheme: "bearer",
|
|
908
|
+
type: "http"
|
|
909
|
+
}],
|
|
910
|
+
url: "/v1/loans/bulk-delivery/{jobId}",
|
|
911
|
+
...options
|
|
912
|
+
});
|
|
913
|
+
};
|
|
914
|
+
/**
|
|
915
|
+
* Autocomplete location search
|
|
916
|
+
* Autocomplete location search powered by Mapbox. Returns location suggestions (cities, states, counties, zip codes, addresses) for a query string. Use the `mapbox_id` from a suggestion with `retrieveLocation` to get normalized geographic details for filtering.
|
|
917
|
+
*/
|
|
918
|
+
const suggestLocations = (options) => {
|
|
919
|
+
return (options.client ?? client).get({
|
|
920
|
+
security: [{
|
|
921
|
+
name: "x-api-key",
|
|
922
|
+
type: "apiKey"
|
|
923
|
+
}, {
|
|
924
|
+
scheme: "bearer",
|
|
925
|
+
type: "http"
|
|
926
|
+
}],
|
|
927
|
+
url: "/v1/locations/suggest",
|
|
928
|
+
...options
|
|
929
|
+
});
|
|
930
|
+
};
|
|
931
|
+
/**
|
|
932
|
+
* Retrieve normalized location details
|
|
933
|
+
* Retrieve normalized location details (city, state, county, zip, coordinates) for a Mapbox suggestion ID. Use this after `suggestLocations` to get structured geographic data for filtering other endpoints.
|
|
934
|
+
*/
|
|
935
|
+
const retrieveLocation = (options) => {
|
|
936
|
+
return (options.client ?? client).get({
|
|
937
|
+
security: [{
|
|
938
|
+
name: "x-api-key",
|
|
939
|
+
type: "apiKey"
|
|
940
|
+
}, {
|
|
941
|
+
scheme: "bearer",
|
|
942
|
+
type: "http"
|
|
943
|
+
}],
|
|
944
|
+
url: "/v1/locations/retrieve/{mapboxId}",
|
|
945
|
+
...options
|
|
946
|
+
});
|
|
947
|
+
};
|
|
948
|
+
/**
|
|
949
|
+
* Search aggregated market data with filters
|
|
950
|
+
* Search aggregated loan origination market data. Filterable dimensions cover geography (state, county, zip), product (loan purpose / type / amortization), borrower demographics, and loan numerics.
|
|
951
|
+
*/
|
|
952
|
+
const listMarket = (options) => {
|
|
953
|
+
return (options?.client ?? client).post({
|
|
954
|
+
security: [{
|
|
955
|
+
name: "x-api-key",
|
|
956
|
+
type: "apiKey"
|
|
957
|
+
}, {
|
|
958
|
+
scheme: "bearer",
|
|
959
|
+
type: "http"
|
|
960
|
+
}],
|
|
961
|
+
url: "/v1/market",
|
|
962
|
+
...options,
|
|
963
|
+
headers: {
|
|
964
|
+
"Content-Type": "application/json",
|
|
965
|
+
...options?.headers
|
|
966
|
+
}
|
|
967
|
+
});
|
|
968
|
+
};
|
|
969
|
+
/**
|
|
970
|
+
* Market summary (volume, units, rate, loan amount, credit score, LTV, DTI, income, etc.) with previous-period comparison
|
|
971
|
+
*/
|
|
972
|
+
const marketAnalyticsSummary = (options) => {
|
|
973
|
+
return (options?.client ?? client).post({
|
|
974
|
+
security: [{
|
|
975
|
+
name: "x-api-key",
|
|
976
|
+
type: "apiKey"
|
|
977
|
+
}, {
|
|
978
|
+
scheme: "bearer",
|
|
979
|
+
type: "http"
|
|
980
|
+
}],
|
|
981
|
+
url: "/v1/market/analytics/summary",
|
|
982
|
+
...options,
|
|
983
|
+
headers: {
|
|
984
|
+
"Content-Type": "application/json",
|
|
985
|
+
...options?.headers
|
|
986
|
+
}
|
|
987
|
+
});
|
|
988
|
+
};
|
|
989
|
+
/**
|
|
990
|
+
* Market metrics over time
|
|
991
|
+
*/
|
|
992
|
+
const marketAnalyticsTimeSeries = (options) => {
|
|
993
|
+
return (options?.client ?? client).post({
|
|
994
|
+
security: [{
|
|
995
|
+
name: "x-api-key",
|
|
996
|
+
type: "apiKey"
|
|
997
|
+
}, {
|
|
998
|
+
scheme: "bearer",
|
|
999
|
+
type: "http"
|
|
1000
|
+
}],
|
|
1001
|
+
url: "/v1/market/analytics/time-series",
|
|
1002
|
+
...options,
|
|
1003
|
+
headers: {
|
|
1004
|
+
"Content-Type": "application/json",
|
|
1005
|
+
...options?.headers
|
|
1006
|
+
}
|
|
1007
|
+
});
|
|
1008
|
+
};
|
|
1009
|
+
/**
|
|
1010
|
+
* Market measure by dimension breakdown
|
|
1011
|
+
*/
|
|
1012
|
+
const marketAnalyticsChart = (options) => {
|
|
1013
|
+
return (options?.client ?? client).post({
|
|
1014
|
+
security: [{
|
|
1015
|
+
name: "x-api-key",
|
|
1016
|
+
type: "apiKey"
|
|
1017
|
+
}, {
|
|
1018
|
+
scheme: "bearer",
|
|
1019
|
+
type: "http"
|
|
1020
|
+
}],
|
|
1021
|
+
url: "/v1/market/analytics/chart",
|
|
1022
|
+
...options,
|
|
1023
|
+
headers: {
|
|
1024
|
+
"Content-Type": "application/json",
|
|
1025
|
+
...options?.headers
|
|
1026
|
+
}
|
|
1027
|
+
});
|
|
1028
|
+
};
|
|
1029
|
+
/**
|
|
1030
|
+
* Agents at an office
|
|
1031
|
+
*/
|
|
1032
|
+
const officeAgents = (options) => {
|
|
1033
|
+
return (options?.client ?? client).post({
|
|
1034
|
+
security: [{
|
|
1035
|
+
name: "x-api-key",
|
|
1036
|
+
type: "apiKey"
|
|
1037
|
+
}, {
|
|
1038
|
+
scheme: "bearer",
|
|
1039
|
+
type: "http"
|
|
1040
|
+
}],
|
|
1041
|
+
url: "/v1/offices/agents",
|
|
1042
|
+
...options,
|
|
1043
|
+
headers: {
|
|
1044
|
+
"Content-Type": "application/json",
|
|
1045
|
+
...options?.headers
|
|
1046
|
+
}
|
|
1047
|
+
});
|
|
1048
|
+
};
|
|
1049
|
+
/**
|
|
1050
|
+
* Search real-estate offices with filters
|
|
1051
|
+
* NOT NMLS mortgage branches — use `/branches` for those. Returns office company, address, agent count, and coordinates. Default sort is by agent count descending.
|
|
1052
|
+
*/
|
|
1053
|
+
const listOffices = (options) => {
|
|
1054
|
+
return (options?.client ?? client).post({
|
|
1055
|
+
security: [{
|
|
1056
|
+
name: "x-api-key",
|
|
1057
|
+
type: "apiKey"
|
|
1058
|
+
}, {
|
|
1059
|
+
scheme: "bearer",
|
|
1060
|
+
type: "http"
|
|
1061
|
+
}],
|
|
1062
|
+
url: "/v1/offices",
|
|
1063
|
+
...options,
|
|
1064
|
+
headers: {
|
|
1065
|
+
"Content-Type": "application/json",
|
|
1066
|
+
...options?.headers
|
|
1067
|
+
}
|
|
1068
|
+
});
|
|
1069
|
+
};
|
|
1070
|
+
/**
|
|
1071
|
+
* Get office by ID with best-effort production enrichment
|
|
1072
|
+
*/
|
|
1073
|
+
const getOffice = (options) => {
|
|
1074
|
+
return (options.client ?? client).get({
|
|
1075
|
+
security: [{
|
|
1076
|
+
name: "x-api-key",
|
|
1077
|
+
type: "apiKey"
|
|
1078
|
+
}, {
|
|
1079
|
+
scheme: "bearer",
|
|
1080
|
+
type: "http"
|
|
1081
|
+
}],
|
|
1082
|
+
url: "/v1/offices/{id}",
|
|
1083
|
+
...options
|
|
1084
|
+
});
|
|
1085
|
+
};
|
|
1086
|
+
/**
|
|
1087
|
+
* Search originators with filters
|
|
1088
|
+
*/
|
|
1089
|
+
const listOriginators = (options) => {
|
|
1090
|
+
return (options?.client ?? client).post({
|
|
1091
|
+
security: [{
|
|
1092
|
+
name: "x-api-key",
|
|
1093
|
+
type: "apiKey"
|
|
1094
|
+
}, {
|
|
1095
|
+
scheme: "bearer",
|
|
1096
|
+
type: "http"
|
|
1097
|
+
}],
|
|
1098
|
+
url: "/v1/originators",
|
|
1099
|
+
...options,
|
|
1100
|
+
headers: {
|
|
1101
|
+
"Content-Type": "application/json",
|
|
1102
|
+
...options?.headers
|
|
1103
|
+
}
|
|
1104
|
+
});
|
|
1105
|
+
};
|
|
1106
|
+
/**
|
|
1107
|
+
* Get originator by NMLS ID
|
|
1108
|
+
*/
|
|
1109
|
+
const getOriginator = (options) => {
|
|
1110
|
+
return (options.client ?? client).get({
|
|
1111
|
+
security: [{
|
|
1112
|
+
name: "x-api-key",
|
|
1113
|
+
type: "apiKey"
|
|
1114
|
+
}, {
|
|
1115
|
+
scheme: "bearer",
|
|
1116
|
+
type: "http"
|
|
1117
|
+
}],
|
|
1118
|
+
url: "/v1/originators/{nmlsId}",
|
|
1119
|
+
...options
|
|
1120
|
+
});
|
|
1121
|
+
};
|
|
1122
|
+
/**
|
|
1123
|
+
* Production summary with previous-period comparison
|
|
1124
|
+
*/
|
|
1125
|
+
const originatorAnalyticsSummary = (options) => {
|
|
1126
|
+
return (options?.client ?? client).post({
|
|
1127
|
+
security: [{
|
|
1128
|
+
name: "x-api-key",
|
|
1129
|
+
type: "apiKey"
|
|
1130
|
+
}, {
|
|
1131
|
+
scheme: "bearer",
|
|
1132
|
+
type: "http"
|
|
1133
|
+
}],
|
|
1134
|
+
url: "/v1/originators/analytics/summary",
|
|
1135
|
+
...options,
|
|
1136
|
+
headers: {
|
|
1137
|
+
"Content-Type": "application/json",
|
|
1138
|
+
...options?.headers
|
|
1139
|
+
}
|
|
1140
|
+
});
|
|
1141
|
+
};
|
|
1142
|
+
/**
|
|
1143
|
+
* Originator volume / units over time
|
|
1144
|
+
*/
|
|
1145
|
+
const originatorAnalyticsTimeSeries = (options) => {
|
|
1146
|
+
return (options?.client ?? client).post({
|
|
1147
|
+
security: [{
|
|
1148
|
+
name: "x-api-key",
|
|
1149
|
+
type: "apiKey"
|
|
1150
|
+
}, {
|
|
1151
|
+
scheme: "bearer",
|
|
1152
|
+
type: "http"
|
|
1153
|
+
}],
|
|
1154
|
+
url: "/v1/originators/analytics/time-series",
|
|
1155
|
+
...options,
|
|
1156
|
+
headers: {
|
|
1157
|
+
"Content-Type": "application/json",
|
|
1158
|
+
...options?.headers
|
|
1159
|
+
}
|
|
1160
|
+
});
|
|
1161
|
+
};
|
|
1162
|
+
/**
|
|
1163
|
+
* Configurable chart (measure × slice) over one LO's loans
|
|
1164
|
+
*/
|
|
1165
|
+
const originatorAnalyticsChart = (options) => {
|
|
1166
|
+
return (options?.client ?? client).post({
|
|
1167
|
+
security: [{
|
|
1168
|
+
name: "x-api-key",
|
|
1169
|
+
type: "apiKey"
|
|
1170
|
+
}, {
|
|
1171
|
+
scheme: "bearer",
|
|
1172
|
+
type: "http"
|
|
1173
|
+
}],
|
|
1174
|
+
url: "/v1/originators/analytics/chart",
|
|
1175
|
+
...options,
|
|
1176
|
+
headers: {
|
|
1177
|
+
"Content-Type": "application/json",
|
|
1178
|
+
...options?.headers
|
|
1179
|
+
}
|
|
1180
|
+
});
|
|
1181
|
+
};
|
|
1182
|
+
/**
|
|
1183
|
+
* Loans originated by this LO
|
|
1184
|
+
*/
|
|
1185
|
+
const originatorLoans = (options) => {
|
|
1186
|
+
return (options.client ?? client).post({
|
|
1187
|
+
security: [{
|
|
1188
|
+
name: "x-api-key",
|
|
1189
|
+
type: "apiKey"
|
|
1190
|
+
}, {
|
|
1191
|
+
scheme: "bearer",
|
|
1192
|
+
type: "http"
|
|
1193
|
+
}],
|
|
1194
|
+
url: "/v1/originators/{nmlsId}/loans",
|
|
1195
|
+
...options,
|
|
1196
|
+
headers: {
|
|
1197
|
+
"Content-Type": "application/json",
|
|
1198
|
+
...options?.headers
|
|
1199
|
+
}
|
|
1200
|
+
});
|
|
1201
|
+
};
|
|
1202
|
+
/**
|
|
1203
|
+
* Real-estate agents this LO co-closed with
|
|
1204
|
+
*/
|
|
1205
|
+
const originatorAgents = (options) => {
|
|
1206
|
+
return (options.client ?? client).post({
|
|
1207
|
+
security: [{
|
|
1208
|
+
name: "x-api-key",
|
|
1209
|
+
type: "apiKey"
|
|
1210
|
+
}, {
|
|
1211
|
+
scheme: "bearer",
|
|
1212
|
+
type: "http"
|
|
1213
|
+
}],
|
|
1214
|
+
url: "/v1/originators/{nmlsId}/breakdowns/agents",
|
|
1215
|
+
...options,
|
|
1216
|
+
headers: {
|
|
1217
|
+
"Content-Type": "application/json",
|
|
1218
|
+
...options?.headers
|
|
1219
|
+
}
|
|
1220
|
+
});
|
|
1221
|
+
};
|
|
1222
|
+
/**
|
|
1223
|
+
* Funding companies (employer history) for this LO
|
|
1224
|
+
*/
|
|
1225
|
+
const originatorCompanies = (options) => {
|
|
1226
|
+
return (options.client ?? client).post({
|
|
1227
|
+
security: [{
|
|
1228
|
+
name: "x-api-key",
|
|
1229
|
+
type: "apiKey"
|
|
1230
|
+
}, {
|
|
1231
|
+
scheme: "bearer",
|
|
1232
|
+
type: "http"
|
|
1233
|
+
}],
|
|
1234
|
+
url: "/v1/originators/{nmlsId}/breakdowns/companies",
|
|
1235
|
+
...options,
|
|
1236
|
+
headers: {
|
|
1237
|
+
"Content-Type": "application/json",
|
|
1238
|
+
...options?.headers
|
|
1239
|
+
}
|
|
1240
|
+
});
|
|
1241
|
+
};
|
|
1242
|
+
/**
|
|
1243
|
+
* Lenders this LO has originated through
|
|
1244
|
+
*/
|
|
1245
|
+
const originatorLenders = (options) => {
|
|
1246
|
+
return (options.client ?? client).post({
|
|
1247
|
+
security: [{
|
|
1248
|
+
name: "x-api-key",
|
|
1249
|
+
type: "apiKey"
|
|
1250
|
+
}, {
|
|
1251
|
+
scheme: "bearer",
|
|
1252
|
+
type: "http"
|
|
1253
|
+
}],
|
|
1254
|
+
url: "/v1/originators/{nmlsId}/breakdowns/lenders",
|
|
1255
|
+
...options,
|
|
1256
|
+
headers: {
|
|
1257
|
+
"Content-Type": "application/json",
|
|
1258
|
+
...options?.headers
|
|
1259
|
+
}
|
|
1260
|
+
});
|
|
1261
|
+
};
|
|
1262
|
+
/**
|
|
1263
|
+
* Zip-code volume breakdown
|
|
1264
|
+
*/
|
|
1265
|
+
const originatorZipCodes = (options) => {
|
|
1266
|
+
return (options.client ?? client).post({
|
|
1267
|
+
security: [{
|
|
1268
|
+
name: "x-api-key",
|
|
1269
|
+
type: "apiKey"
|
|
1270
|
+
}, {
|
|
1271
|
+
scheme: "bearer",
|
|
1272
|
+
type: "http"
|
|
1273
|
+
}],
|
|
1274
|
+
url: "/v1/originators/{nmlsId}/breakdowns/zip-codes",
|
|
1275
|
+
...options,
|
|
1276
|
+
headers: {
|
|
1277
|
+
"Content-Type": "application/json",
|
|
1278
|
+
...options?.headers
|
|
1279
|
+
}
|
|
1280
|
+
});
|
|
1281
|
+
};
|
|
1282
|
+
/**
|
|
1283
|
+
* Branch (broker) history for this LO
|
|
1284
|
+
*/
|
|
1285
|
+
const originatorBranches = (options) => {
|
|
1286
|
+
return (options.client ?? client).post({
|
|
1287
|
+
security: [{
|
|
1288
|
+
name: "x-api-key",
|
|
1289
|
+
type: "apiKey"
|
|
1290
|
+
}, {
|
|
1291
|
+
scheme: "bearer",
|
|
1292
|
+
type: "http"
|
|
1293
|
+
}],
|
|
1294
|
+
url: "/v1/originators/{nmlsId}/breakdowns/branches",
|
|
1295
|
+
...options,
|
|
1296
|
+
headers: {
|
|
1297
|
+
"Content-Type": "application/json",
|
|
1298
|
+
...options?.headers
|
|
1299
|
+
}
|
|
1300
|
+
});
|
|
1301
|
+
};
|
|
1302
|
+
/**
|
|
1303
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
1304
|
+
*/
|
|
1305
|
+
const originatorOffices = (options) => {
|
|
1306
|
+
return (options.client ?? client).post({
|
|
1307
|
+
security: [{
|
|
1308
|
+
name: "x-api-key",
|
|
1309
|
+
type: "apiKey"
|
|
1310
|
+
}, {
|
|
1311
|
+
scheme: "bearer",
|
|
1312
|
+
type: "http"
|
|
1313
|
+
}],
|
|
1314
|
+
url: "/v1/originators/{nmlsId}/breakdowns/offices",
|
|
1315
|
+
...options,
|
|
1316
|
+
headers: {
|
|
1317
|
+
"Content-Type": "application/json",
|
|
1318
|
+
...options?.headers
|
|
1319
|
+
}
|
|
1320
|
+
});
|
|
1321
|
+
};
|
|
1322
|
+
/**
|
|
1323
|
+
* Per-city volume breakdown (pre-aggregated)
|
|
1324
|
+
*/
|
|
1325
|
+
const originatorCitiesBreakdown = (options) => {
|
|
1326
|
+
return (options.client ?? client).post({
|
|
1327
|
+
security: [{
|
|
1328
|
+
name: "x-api-key",
|
|
1329
|
+
type: "apiKey"
|
|
1330
|
+
}, {
|
|
1331
|
+
scheme: "bearer",
|
|
1332
|
+
type: "http"
|
|
1333
|
+
}],
|
|
1334
|
+
url: "/v1/originators/{nmlsId}/breakdowns/cities",
|
|
1335
|
+
...options,
|
|
1336
|
+
headers: {
|
|
1337
|
+
"Content-Type": "application/json",
|
|
1338
|
+
...options?.headers
|
|
1339
|
+
}
|
|
1340
|
+
});
|
|
1341
|
+
};
|
|
1342
|
+
/**
|
|
1343
|
+
* Per-county volume breakdown (pre-aggregated)
|
|
1344
|
+
*/
|
|
1345
|
+
const originatorCountiesBreakdown = (options) => {
|
|
1346
|
+
return (options.client ?? client).post({
|
|
1347
|
+
security: [{
|
|
1348
|
+
name: "x-api-key",
|
|
1349
|
+
type: "apiKey"
|
|
1350
|
+
}, {
|
|
1351
|
+
scheme: "bearer",
|
|
1352
|
+
type: "http"
|
|
1353
|
+
}],
|
|
1354
|
+
url: "/v1/originators/{nmlsId}/breakdowns/counties",
|
|
1355
|
+
...options,
|
|
1356
|
+
headers: {
|
|
1357
|
+
"Content-Type": "application/json",
|
|
1358
|
+
...options?.headers
|
|
1359
|
+
}
|
|
1360
|
+
});
|
|
1361
|
+
};
|
|
1362
|
+
/**
|
|
1363
|
+
* Per-state volume breakdown (pre-aggregated)
|
|
1364
|
+
*/
|
|
1365
|
+
const originatorStatesBreakdown = (options) => {
|
|
1366
|
+
return (options.client ?? client).post({
|
|
1367
|
+
security: [{
|
|
1368
|
+
name: "x-api-key",
|
|
1369
|
+
type: "apiKey"
|
|
1370
|
+
}, {
|
|
1371
|
+
scheme: "bearer",
|
|
1372
|
+
type: "http"
|
|
1373
|
+
}],
|
|
1374
|
+
url: "/v1/originators/{nmlsId}/breakdowns/states",
|
|
1375
|
+
...options,
|
|
1376
|
+
headers: {
|
|
1377
|
+
"Content-Type": "application/json",
|
|
1378
|
+
...options?.headers
|
|
1379
|
+
}
|
|
1380
|
+
});
|
|
1381
|
+
};
|
|
1382
|
+
/**
|
|
1383
|
+
* Submit a bulk-delivery job for originators
|
|
1384
|
+
* Queues an ECS task that dumps every matching originators document (subject to the org's `bulk-delivery.originators` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /originators/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
1385
|
+
*/
|
|
1386
|
+
const submitOriginatorsBulkDelivery = (options) => {
|
|
1387
|
+
return (options?.client ?? client).post({
|
|
1388
|
+
security: [{
|
|
1389
|
+
name: "x-api-key",
|
|
1390
|
+
type: "apiKey"
|
|
1391
|
+
}, {
|
|
1392
|
+
scheme: "bearer",
|
|
1393
|
+
type: "http"
|
|
1394
|
+
}],
|
|
1395
|
+
url: "/v1/originators/bulk-delivery",
|
|
1396
|
+
...options,
|
|
1397
|
+
headers: {
|
|
1398
|
+
"Content-Type": "application/json",
|
|
1399
|
+
...options?.headers
|
|
1400
|
+
}
|
|
1401
|
+
});
|
|
1402
|
+
};
|
|
1403
|
+
/**
|
|
1404
|
+
* Get bulk-delivery job status for originators
|
|
1405
|
+
*/
|
|
1406
|
+
const getOriginatorsBulkDeliveryJob = (options) => {
|
|
1407
|
+
return (options.client ?? client).get({
|
|
1408
|
+
security: [{
|
|
1409
|
+
name: "x-api-key",
|
|
1410
|
+
type: "apiKey"
|
|
1411
|
+
}, {
|
|
1412
|
+
scheme: "bearer",
|
|
1413
|
+
type: "http"
|
|
1414
|
+
}],
|
|
1415
|
+
url: "/v1/originators/bulk-delivery/{jobId}",
|
|
1416
|
+
...options
|
|
1417
|
+
});
|
|
1418
|
+
};
|
|
1419
|
+
/**
|
|
1420
|
+
* List enriched properties for the current user
|
|
1421
|
+
*/
|
|
1422
|
+
const listEnrichments = (options) => {
|
|
1423
|
+
return (options?.client ?? client).get({
|
|
1424
|
+
security: [{
|
|
1425
|
+
name: "x-api-key",
|
|
1426
|
+
type: "apiKey"
|
|
1427
|
+
}, {
|
|
1428
|
+
scheme: "bearer",
|
|
1429
|
+
type: "http"
|
|
1430
|
+
}],
|
|
1431
|
+
url: "/v1/properties/enrichments",
|
|
1432
|
+
...options
|
|
1433
|
+
});
|
|
1434
|
+
};
|
|
1435
|
+
/**
|
|
1436
|
+
* Enrich a property with owner contact info
|
|
1437
|
+
* Looks up owner contact information via skip-trace. Uses the canonical address first; falls back to an associated loan or sale record address if the canonical is missing.
|
|
1438
|
+
*/
|
|
1439
|
+
const enrichProperty = (options) => {
|
|
1440
|
+
return (options.client ?? client).post({
|
|
1441
|
+
security: [{
|
|
1442
|
+
name: "x-api-key",
|
|
1443
|
+
type: "apiKey"
|
|
1444
|
+
}, {
|
|
1445
|
+
scheme: "bearer",
|
|
1446
|
+
type: "http"
|
|
1447
|
+
}],
|
|
1448
|
+
url: "/v1/properties/{id}/enrich",
|
|
1449
|
+
...options
|
|
1450
|
+
});
|
|
1451
|
+
};
|
|
1452
|
+
/**
|
|
1453
|
+
* Submit a bulk skip-trace job
|
|
1454
|
+
* Queues an ECS task that enriches up to 50000 properties. Returns 202 with a jobId; poll `GET /enrich-bulk/{jobId}` or subscribe to the `enrichment.bulk.*` EventBridge / webhook events for completion.
|
|
1455
|
+
*/
|
|
1456
|
+
const enrichPropertiesBulk = (options) => {
|
|
1457
|
+
return (options?.client ?? client).post({
|
|
1458
|
+
security: [{
|
|
1459
|
+
name: "x-api-key",
|
|
1460
|
+
type: "apiKey"
|
|
1461
|
+
}, {
|
|
1462
|
+
scheme: "bearer",
|
|
1463
|
+
type: "http"
|
|
1464
|
+
}],
|
|
1465
|
+
url: "/v1/properties/enrich-bulk",
|
|
1466
|
+
...options,
|
|
1467
|
+
headers: {
|
|
1468
|
+
"Content-Type": "application/json",
|
|
1469
|
+
...options?.headers
|
|
1470
|
+
}
|
|
1471
|
+
});
|
|
1472
|
+
};
|
|
1473
|
+
/**
|
|
1474
|
+
* Get bulk enrichment job status
|
|
1475
|
+
*/
|
|
1476
|
+
const getEnrichBulkJob = (options) => {
|
|
1477
|
+
return (options.client ?? client).get({
|
|
1478
|
+
security: [{
|
|
1479
|
+
name: "x-api-key",
|
|
1480
|
+
type: "apiKey"
|
|
1481
|
+
}, {
|
|
1482
|
+
scheme: "bearer",
|
|
1483
|
+
type: "http"
|
|
1484
|
+
}],
|
|
1485
|
+
url: "/v1/properties/enrich-bulk/{jobId}",
|
|
1486
|
+
...options
|
|
1487
|
+
});
|
|
1488
|
+
};
|
|
1489
|
+
/**
|
|
1490
|
+
* Search properties with filters
|
|
1491
|
+
*/
|
|
1492
|
+
const listProperties = (options) => {
|
|
1493
|
+
return (options?.client ?? client).post({
|
|
1494
|
+
security: [{
|
|
1495
|
+
name: "x-api-key",
|
|
1496
|
+
type: "apiKey"
|
|
1497
|
+
}, {
|
|
1498
|
+
scheme: "bearer",
|
|
1499
|
+
type: "http"
|
|
1500
|
+
}],
|
|
1501
|
+
url: "/v1/properties",
|
|
1502
|
+
...options,
|
|
1503
|
+
headers: {
|
|
1504
|
+
"Content-Type": "application/json",
|
|
1505
|
+
...options?.headers
|
|
1506
|
+
}
|
|
1507
|
+
});
|
|
1508
|
+
};
|
|
1509
|
+
/**
|
|
1510
|
+
* Get property by ID (with mm_property_id fallback)
|
|
1511
|
+
*/
|
|
1512
|
+
const getProperty = (options) => {
|
|
1513
|
+
return (options.client ?? client).get({
|
|
1514
|
+
security: [{
|
|
1515
|
+
name: "x-api-key",
|
|
1516
|
+
type: "apiKey"
|
|
1517
|
+
}, {
|
|
1518
|
+
scheme: "bearer",
|
|
1519
|
+
type: "http"
|
|
1520
|
+
}],
|
|
1521
|
+
url: "/v1/properties/{id}",
|
|
1522
|
+
...options
|
|
1523
|
+
});
|
|
1524
|
+
};
|
|
1525
|
+
/**
|
|
1526
|
+
* Property count and average AVM
|
|
1527
|
+
*/
|
|
1528
|
+
const propertiesAnalyticsSummary = (options) => {
|
|
1529
|
+
return (options?.client ?? client).post({
|
|
1530
|
+
security: [{
|
|
1531
|
+
name: "x-api-key",
|
|
1532
|
+
type: "apiKey"
|
|
1533
|
+
}, {
|
|
1534
|
+
scheme: "bearer",
|
|
1535
|
+
type: "http"
|
|
1536
|
+
}],
|
|
1537
|
+
url: "/v1/properties/analytics/summary",
|
|
1538
|
+
...options,
|
|
1539
|
+
headers: {
|
|
1540
|
+
"Content-Type": "application/json",
|
|
1541
|
+
...options?.headers
|
|
1542
|
+
}
|
|
1543
|
+
});
|
|
1544
|
+
};
|
|
1545
|
+
/**
|
|
1546
|
+
* Configurable chart data (measure × slice)
|
|
1547
|
+
*/
|
|
1548
|
+
const propertiesAnalyticsChart = (options) => {
|
|
1549
|
+
return (options?.client ?? client).post({
|
|
1550
|
+
security: [{
|
|
1551
|
+
name: "x-api-key",
|
|
1552
|
+
type: "apiKey"
|
|
1553
|
+
}, {
|
|
1554
|
+
scheme: "bearer",
|
|
1555
|
+
type: "http"
|
|
1556
|
+
}],
|
|
1557
|
+
url: "/v1/properties/analytics/chart",
|
|
1558
|
+
...options,
|
|
1559
|
+
headers: {
|
|
1560
|
+
"Content-Type": "application/json",
|
|
1561
|
+
...options?.headers
|
|
1562
|
+
}
|
|
1563
|
+
});
|
|
1564
|
+
};
|
|
1565
|
+
/**
|
|
1566
|
+
* Submit a bulk-delivery job for properties
|
|
1567
|
+
* Queues an ECS task that dumps every matching properties document (subject to the org's `bulk-delivery.properties` entitlement scope) to S3 in the requested format. Returns 202 with a jobId; poll `GET /properties/bulk-delivery/{jobId}` for status + the signed download URL.
|
|
1568
|
+
*/
|
|
1569
|
+
const submitPropertiesBulkDelivery = (options) => {
|
|
1570
|
+
return (options?.client ?? client).post({
|
|
1571
|
+
security: [{
|
|
1572
|
+
name: "x-api-key",
|
|
1573
|
+
type: "apiKey"
|
|
1574
|
+
}, {
|
|
1575
|
+
scheme: "bearer",
|
|
1576
|
+
type: "http"
|
|
1577
|
+
}],
|
|
1578
|
+
url: "/v1/properties/bulk-delivery",
|
|
1579
|
+
...options,
|
|
1580
|
+
headers: {
|
|
1581
|
+
"Content-Type": "application/json",
|
|
1582
|
+
...options?.headers
|
|
1583
|
+
}
|
|
1584
|
+
});
|
|
1585
|
+
};
|
|
1586
|
+
/**
|
|
1587
|
+
* Get bulk-delivery job status for properties
|
|
1588
|
+
*/
|
|
1589
|
+
const getPropertiesBulkDeliveryJob = (options) => {
|
|
1590
|
+
return (options.client ?? client).get({
|
|
1591
|
+
security: [{
|
|
1592
|
+
name: "x-api-key",
|
|
1593
|
+
type: "apiKey"
|
|
1594
|
+
}, {
|
|
1595
|
+
scheme: "bearer",
|
|
1596
|
+
type: "http"
|
|
1597
|
+
}],
|
|
1598
|
+
url: "/v1/properties/bulk-delivery/{jobId}",
|
|
1599
|
+
...options
|
|
1600
|
+
});
|
|
1601
|
+
};
|
|
1602
|
+
/**
|
|
1603
|
+
* Search sales with filters
|
|
1604
|
+
*/
|
|
1605
|
+
const listSales = (options) => {
|
|
1606
|
+
return (options?.client ?? client).post({
|
|
1607
|
+
security: [{
|
|
1608
|
+
name: "x-api-key",
|
|
1609
|
+
type: "apiKey"
|
|
1610
|
+
}, {
|
|
1611
|
+
scheme: "bearer",
|
|
1612
|
+
type: "http"
|
|
1613
|
+
}],
|
|
1614
|
+
url: "/v1/sales",
|
|
1615
|
+
...options,
|
|
1616
|
+
headers: {
|
|
1617
|
+
"Content-Type": "application/json",
|
|
1618
|
+
...options?.headers
|
|
1619
|
+
}
|
|
1620
|
+
});
|
|
1621
|
+
};
|
|
1622
|
+
/**
|
|
1623
|
+
* Get sale by ID
|
|
1624
|
+
*/
|
|
1625
|
+
const getSale = (options) => {
|
|
1626
|
+
return (options.client ?? client).get({
|
|
1627
|
+
security: [{
|
|
1628
|
+
name: "x-api-key",
|
|
1629
|
+
type: "apiKey"
|
|
1630
|
+
}, {
|
|
1631
|
+
scheme: "bearer",
|
|
1632
|
+
type: "http"
|
|
1633
|
+
}],
|
|
1634
|
+
url: "/v1/sales/{id}",
|
|
1635
|
+
...options
|
|
1636
|
+
});
|
|
1637
|
+
};
|
|
1638
|
+
/**
|
|
1639
|
+
* Market summary with buyer/seller/dual split + previous period
|
|
1640
|
+
*/
|
|
1641
|
+
const salesAnalyticsSummary = (options) => {
|
|
1642
|
+
return (options?.client ?? client).post({
|
|
1643
|
+
security: [{
|
|
1644
|
+
name: "x-api-key",
|
|
1645
|
+
type: "apiKey"
|
|
1646
|
+
}, {
|
|
1647
|
+
scheme: "bearer",
|
|
1648
|
+
type: "http"
|
|
1649
|
+
}],
|
|
1650
|
+
url: "/v1/sales/analytics/summary",
|
|
1651
|
+
...options,
|
|
1652
|
+
headers: {
|
|
1653
|
+
"Content-Type": "application/json",
|
|
1654
|
+
...options?.headers
|
|
1655
|
+
}
|
|
1656
|
+
});
|
|
1657
|
+
};
|
|
1658
|
+
/**
|
|
1659
|
+
* Volume/units over time with buyer/seller/dual split
|
|
1660
|
+
*/
|
|
1661
|
+
const salesAnalyticsTimeSeries = (options) => {
|
|
1662
|
+
return (options?.client ?? client).post({
|
|
1663
|
+
security: [{
|
|
1664
|
+
name: "x-api-key",
|
|
1665
|
+
type: "apiKey"
|
|
1666
|
+
}, {
|
|
1667
|
+
scheme: "bearer",
|
|
1668
|
+
type: "http"
|
|
1669
|
+
}],
|
|
1670
|
+
url: "/v1/sales/analytics/time-series",
|
|
1671
|
+
...options,
|
|
1672
|
+
headers: {
|
|
1673
|
+
"Content-Type": "application/json",
|
|
1674
|
+
...options?.headers
|
|
1675
|
+
}
|
|
1676
|
+
});
|
|
1677
|
+
};
|
|
1678
|
+
/**
|
|
1679
|
+
* Configurable chart (measure × slice) over the market
|
|
1680
|
+
*/
|
|
1681
|
+
const salesAnalyticsChart = (options) => {
|
|
1682
|
+
return (options?.client ?? client).post({
|
|
1683
|
+
security: [{
|
|
1684
|
+
name: "x-api-key",
|
|
1685
|
+
type: "apiKey"
|
|
1686
|
+
}, {
|
|
1687
|
+
scheme: "bearer",
|
|
1688
|
+
type: "http"
|
|
1689
|
+
}],
|
|
1690
|
+
url: "/v1/sales/analytics/chart",
|
|
1691
|
+
...options,
|
|
1692
|
+
headers: {
|
|
1693
|
+
"Content-Type": "application/json",
|
|
1694
|
+
...options?.headers
|
|
1695
|
+
}
|
|
1696
|
+
});
|
|
1697
|
+
};
|
|
1698
|
+
//#endregion
|
|
1699
|
+
export { client as _heyApiClient, agentAnalyticsChart, agentAnalyticsSummary, agentAnalyticsTimeSeries, agentCities, agentCompanies, agentCounties, agentLenders, agentOffices, agentOriginators, agentProperties, agentSales, agentStates, agentZipCodes, companyAnalyticsChart, companyAnalyticsSummary, companyAnalyticsTimeSeries, companyBranches, companyCities, companyCounties, companyLenders, companyOffices, companyOriginators, companySponsoredIndividuals, companySponsorshipMovement, companyStates, createClient, enrichPropertiesBulk, enrichProperty, getAgent, getAgentsBulkDeliveryJob, getBranch, getBranchesBulkDeliveryJob, getCompaniesBulkDeliveryJob, getCompany, getEnrichBulkJob, getLender, getLoan, getLoansBulkDeliveryJob, getOffice, getOriginator, getOriginatorsBulkDeliveryJob, getPropertiesBulkDeliveryJob, getProperty, getSale, instantSearch, listAgents, listBranches, listCompanies, listEnrichments, listLenders, listLoans, listMarket, listOffices, listOriginators, listProperties, listSales, loansAnalyticsChart, loansAnalyticsSummary, loansAnalyticsTimeSeries, marketAnalyticsChart, marketAnalyticsSummary, marketAnalyticsTimeSeries, officeAgents, originatorAgents, originatorAnalyticsChart, originatorAnalyticsSummary, originatorAnalyticsTimeSeries, originatorBranches, originatorCitiesBreakdown, originatorCompanies, originatorCountiesBreakdown, originatorLenders, originatorLoans, originatorOffices, originatorStatesBreakdown, originatorZipCodes, propertiesAnalyticsChart, propertiesAnalyticsSummary, retrieveLocation, salesAnalyticsChart, salesAnalyticsSummary, salesAnalyticsTimeSeries, submitAgentsBulkDelivery, submitBranchesBulkDelivery, submitCompaniesBulkDelivery, submitLoansBulkDelivery, submitOriginatorsBulkDelivery, submitPropertiesBulkDelivery, suggestLocations };
|