@model-match/api 3.6.1 → 3.8.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-C2yk67yZ.d.mts +14550 -0
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +2 -2
- package/dist/slim/index.d.mts +577 -15
- package/dist/slim/index.mjs +2827 -233
- package/dist/src-D7ciHm-w.mjs +4642 -0
- package/openapi.json +25179 -5161
- package/package.json +2 -2
- package/dist/index-DzwdNBnm.d.mts +0 -6781
- package/dist/src-DLvn1DCD.mjs +0 -2044
|
@@ -0,0 +1,4642 @@
|
|
|
1
|
+
import { createClient, createClient as createApiClient, createConfig } from "@hey-api/client-fetch";
|
|
2
|
+
//#region src/runtime-config.ts
|
|
3
|
+
const createClientConfig = (config) => ({
|
|
4
|
+
...config,
|
|
5
|
+
throwOnError: true,
|
|
6
|
+
baseUrl: config?.baseUrl ?? (typeof process === "undefined" ? void 0 : process.env?.MMR_API_URL) ?? "http://localhost:3001"
|
|
7
|
+
});
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/client.gen.ts
|
|
10
|
+
const client = createClient(createClientConfig(createConfig()));
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region src/sdk.gen.ts
|
|
13
|
+
var AdminJobs = class {
|
|
14
|
+
/**
|
|
15
|
+
* Get a bulk job and a signed download URL (admin)
|
|
16
|
+
* Returns any org's bulk job (delivery or enrichment) with a freshly signed download URL for its result file. Cross-org: signs against the job's own stored org. `resultsUrl` is null until the job is completed.
|
|
17
|
+
*/
|
|
18
|
+
static adminGetBulkJob(options) {
|
|
19
|
+
return (options.client ?? client).get({
|
|
20
|
+
security: [{
|
|
21
|
+
name: "x-api-key",
|
|
22
|
+
type: "apiKey"
|
|
23
|
+
}, {
|
|
24
|
+
scheme: "bearer",
|
|
25
|
+
type: "http"
|
|
26
|
+
}],
|
|
27
|
+
url: "/v1/admin/jobs/{jobId}",
|
|
28
|
+
...options
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
var Agents = class {
|
|
33
|
+
/**
|
|
34
|
+
* Search agents with filters
|
|
35
|
+
* Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there. A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name, and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.)
|
|
36
|
+
*/
|
|
37
|
+
static list(options) {
|
|
38
|
+
return (options?.client ?? client).post({
|
|
39
|
+
security: [{
|
|
40
|
+
name: "x-api-key",
|
|
41
|
+
type: "apiKey"
|
|
42
|
+
}, {
|
|
43
|
+
scheme: "bearer",
|
|
44
|
+
type: "http"
|
|
45
|
+
}],
|
|
46
|
+
url: "/v1/agents",
|
|
47
|
+
...options,
|
|
48
|
+
headers: {
|
|
49
|
+
"Content-Type": "application/json",
|
|
50
|
+
...options?.headers
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get agent by ID
|
|
56
|
+
*/
|
|
57
|
+
static get(options) {
|
|
58
|
+
return (options.client ?? client).get({
|
|
59
|
+
security: [{
|
|
60
|
+
name: "x-api-key",
|
|
61
|
+
type: "apiKey"
|
|
62
|
+
}, {
|
|
63
|
+
scheme: "bearer",
|
|
64
|
+
type: "http"
|
|
65
|
+
}],
|
|
66
|
+
url: "/v1/agents/{id}",
|
|
67
|
+
...options
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Production summary with buyer/seller/dual split + previous period
|
|
72
|
+
*/
|
|
73
|
+
static analyticsSummary(options) {
|
|
74
|
+
return (options?.client ?? client).post({
|
|
75
|
+
security: [{
|
|
76
|
+
name: "x-api-key",
|
|
77
|
+
type: "apiKey"
|
|
78
|
+
}, {
|
|
79
|
+
scheme: "bearer",
|
|
80
|
+
type: "http"
|
|
81
|
+
}],
|
|
82
|
+
url: "/v1/agents/analytics/summary",
|
|
83
|
+
...options,
|
|
84
|
+
headers: {
|
|
85
|
+
"Content-Type": "application/json",
|
|
86
|
+
...options?.headers
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Agent volume/units over time with buyer/seller/dual split
|
|
92
|
+
*/
|
|
93
|
+
static analyticsTimeSeries(options) {
|
|
94
|
+
return (options?.client ?? client).post({
|
|
95
|
+
security: [{
|
|
96
|
+
name: "x-api-key",
|
|
97
|
+
type: "apiKey"
|
|
98
|
+
}, {
|
|
99
|
+
scheme: "bearer",
|
|
100
|
+
type: "http"
|
|
101
|
+
}],
|
|
102
|
+
url: "/v1/agents/analytics/time-series",
|
|
103
|
+
...options,
|
|
104
|
+
headers: {
|
|
105
|
+
"Content-Type": "application/json",
|
|
106
|
+
...options?.headers
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Configurable chart (measure × slice) over the agent's sales
|
|
112
|
+
*/
|
|
113
|
+
static analyticsChart(options) {
|
|
114
|
+
return (options?.client ?? client).post({
|
|
115
|
+
security: [{
|
|
116
|
+
name: "x-api-key",
|
|
117
|
+
type: "apiKey"
|
|
118
|
+
}, {
|
|
119
|
+
scheme: "bearer",
|
|
120
|
+
type: "http"
|
|
121
|
+
}],
|
|
122
|
+
url: "/v1/agents/analytics/chart",
|
|
123
|
+
...options,
|
|
124
|
+
headers: {
|
|
125
|
+
"Content-Type": "application/json",
|
|
126
|
+
...options?.headers
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Sales transactions where this agent was listing or selling side
|
|
132
|
+
*/
|
|
133
|
+
static sales(options) {
|
|
134
|
+
return (options.client ?? client).post({
|
|
135
|
+
security: [{
|
|
136
|
+
name: "x-api-key",
|
|
137
|
+
type: "apiKey"
|
|
138
|
+
}, {
|
|
139
|
+
scheme: "bearer",
|
|
140
|
+
type: "http"
|
|
141
|
+
}],
|
|
142
|
+
url: "/v1/agents/{id}/sales",
|
|
143
|
+
...options,
|
|
144
|
+
headers: {
|
|
145
|
+
"Content-Type": "application/json",
|
|
146
|
+
...options?.headers
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Properties this agent has transacted on
|
|
152
|
+
*/
|
|
153
|
+
static properties(options) {
|
|
154
|
+
return (options.client ?? client).post({
|
|
155
|
+
security: [{
|
|
156
|
+
name: "x-api-key",
|
|
157
|
+
type: "apiKey"
|
|
158
|
+
}, {
|
|
159
|
+
scheme: "bearer",
|
|
160
|
+
type: "http"
|
|
161
|
+
}],
|
|
162
|
+
url: "/v1/agents/{id}/properties",
|
|
163
|
+
...options,
|
|
164
|
+
headers: {
|
|
165
|
+
"Content-Type": "application/json",
|
|
166
|
+
...options?.headers
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Listing offices the agent has closed through
|
|
172
|
+
*/
|
|
173
|
+
static offices(options) {
|
|
174
|
+
return (options.client ?? client).post({
|
|
175
|
+
security: [{
|
|
176
|
+
name: "x-api-key",
|
|
177
|
+
type: "apiKey"
|
|
178
|
+
}, {
|
|
179
|
+
scheme: "bearer",
|
|
180
|
+
type: "http"
|
|
181
|
+
}],
|
|
182
|
+
url: "/v1/agents/{id}/breakdowns/offices",
|
|
183
|
+
...options,
|
|
184
|
+
headers: {
|
|
185
|
+
"Content-Type": "application/json",
|
|
186
|
+
...options?.headers
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* City volume breakdown across the agent's sales
|
|
192
|
+
*/
|
|
193
|
+
static cities(options) {
|
|
194
|
+
return (options.client ?? client).post({
|
|
195
|
+
security: [{
|
|
196
|
+
name: "x-api-key",
|
|
197
|
+
type: "apiKey"
|
|
198
|
+
}, {
|
|
199
|
+
scheme: "bearer",
|
|
200
|
+
type: "http"
|
|
201
|
+
}],
|
|
202
|
+
url: "/v1/agents/{id}/breakdowns/cities",
|
|
203
|
+
...options,
|
|
204
|
+
headers: {
|
|
205
|
+
"Content-Type": "application/json",
|
|
206
|
+
...options?.headers
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* County (FIPS) volume breakdown
|
|
212
|
+
*/
|
|
213
|
+
static counties(options) {
|
|
214
|
+
return (options.client ?? client).post({
|
|
215
|
+
security: [{
|
|
216
|
+
name: "x-api-key",
|
|
217
|
+
type: "apiKey"
|
|
218
|
+
}, {
|
|
219
|
+
scheme: "bearer",
|
|
220
|
+
type: "http"
|
|
221
|
+
}],
|
|
222
|
+
url: "/v1/agents/{id}/breakdowns/counties",
|
|
223
|
+
...options,
|
|
224
|
+
headers: {
|
|
225
|
+
"Content-Type": "application/json",
|
|
226
|
+
...options?.headers
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* State volume breakdown
|
|
232
|
+
*/
|
|
233
|
+
static states(options) {
|
|
234
|
+
return (options.client ?? client).post({
|
|
235
|
+
security: [{
|
|
236
|
+
name: "x-api-key",
|
|
237
|
+
type: "apiKey"
|
|
238
|
+
}, {
|
|
239
|
+
scheme: "bearer",
|
|
240
|
+
type: "http"
|
|
241
|
+
}],
|
|
242
|
+
url: "/v1/agents/{id}/breakdowns/states",
|
|
243
|
+
...options,
|
|
244
|
+
headers: {
|
|
245
|
+
"Content-Type": "application/json",
|
|
246
|
+
...options?.headers
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Zip-code volume breakdown
|
|
252
|
+
*/
|
|
253
|
+
static zipCodes(options) {
|
|
254
|
+
return (options.client ?? client).post({
|
|
255
|
+
security: [{
|
|
256
|
+
name: "x-api-key",
|
|
257
|
+
type: "apiKey"
|
|
258
|
+
}, {
|
|
259
|
+
scheme: "bearer",
|
|
260
|
+
type: "http"
|
|
261
|
+
}],
|
|
262
|
+
url: "/v1/agents/{id}/breakdowns/zip-codes",
|
|
263
|
+
...options,
|
|
264
|
+
headers: {
|
|
265
|
+
"Content-Type": "application/json",
|
|
266
|
+
...options?.headers
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Loan officers the agent worked with (pre-aggregated)
|
|
272
|
+
*/
|
|
273
|
+
static originators(options) {
|
|
274
|
+
return (options.client ?? client).post({
|
|
275
|
+
security: [{
|
|
276
|
+
name: "x-api-key",
|
|
277
|
+
type: "apiKey"
|
|
278
|
+
}, {
|
|
279
|
+
scheme: "bearer",
|
|
280
|
+
type: "http"
|
|
281
|
+
}],
|
|
282
|
+
url: "/v1/agents/{id}/breakdowns/originators",
|
|
283
|
+
...options,
|
|
284
|
+
headers: {
|
|
285
|
+
"Content-Type": "application/json",
|
|
286
|
+
...options?.headers
|
|
287
|
+
}
|
|
288
|
+
});
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Mortgage companies the agent dealt with (pre-aggregated)
|
|
292
|
+
*/
|
|
293
|
+
static companies(options) {
|
|
294
|
+
return (options.client ?? client).post({
|
|
295
|
+
security: [{
|
|
296
|
+
name: "x-api-key",
|
|
297
|
+
type: "apiKey"
|
|
298
|
+
}, {
|
|
299
|
+
scheme: "bearer",
|
|
300
|
+
type: "http"
|
|
301
|
+
}],
|
|
302
|
+
url: "/v1/agents/{id}/breakdowns/companies",
|
|
303
|
+
...options,
|
|
304
|
+
headers: {
|
|
305
|
+
"Content-Type": "application/json",
|
|
306
|
+
...options?.headers
|
|
307
|
+
}
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Raw-name lenders encountered (pre-aggregated)
|
|
312
|
+
*/
|
|
313
|
+
static lenders(options) {
|
|
314
|
+
return (options.client ?? client).post({
|
|
315
|
+
security: [{
|
|
316
|
+
name: "x-api-key",
|
|
317
|
+
type: "apiKey"
|
|
318
|
+
}, {
|
|
319
|
+
scheme: "bearer",
|
|
320
|
+
type: "http"
|
|
321
|
+
}],
|
|
322
|
+
url: "/v1/agents/{id}/breakdowns/lenders",
|
|
323
|
+
...options,
|
|
324
|
+
headers: {
|
|
325
|
+
"Content-Type": "application/json",
|
|
326
|
+
...options?.headers
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* Submit a bulk-delivery job for agents
|
|
332
|
+
* 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.
|
|
333
|
+
*/
|
|
334
|
+
static submitAgentsBulkDelivery(options) {
|
|
335
|
+
return (options?.client ?? client).post({
|
|
336
|
+
security: [{
|
|
337
|
+
name: "x-api-key",
|
|
338
|
+
type: "apiKey"
|
|
339
|
+
}, {
|
|
340
|
+
scheme: "bearer",
|
|
341
|
+
type: "http"
|
|
342
|
+
}],
|
|
343
|
+
url: "/v1/agents/bulk-delivery",
|
|
344
|
+
...options,
|
|
345
|
+
headers: {
|
|
346
|
+
"Content-Type": "application/json",
|
|
347
|
+
...options?.headers
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Get bulk-delivery job status for agents
|
|
353
|
+
*/
|
|
354
|
+
static getAgentsBulkDeliveryJob(options) {
|
|
355
|
+
return (options.client ?? client).get({
|
|
356
|
+
security: [{
|
|
357
|
+
name: "x-api-key",
|
|
358
|
+
type: "apiKey"
|
|
359
|
+
}, {
|
|
360
|
+
scheme: "bearer",
|
|
361
|
+
type: "http"
|
|
362
|
+
}],
|
|
363
|
+
url: "/v1/agents/bulk-delivery/{jobId}",
|
|
364
|
+
...options
|
|
365
|
+
});
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Search agents with filters
|
|
369
|
+
* Search and list individual real-estate agents with filters — one row per agent. Filter by name, location (state, city, zip), brokerage/office, and production metrics (sales volume, transaction units, price range), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city/zip filters match ANY of an agent's location signals — their listed city/state, their office address(es), AND the markets where they actually closed transactions (production) — combined with OR. So an agent matches a searched location if their office OR their production is there. A search for city "Long Beach" can therefore return agents whose office or displayed primary market is in a different city/state, because they transacted in Long Beach. The `state`/`city` returned on each row reflect the agent's primary market and may differ from the searched location. (Use the `office` filter to match by brokerage/office name, and the per-agent city/county/state breakdown endpoints to rank an agent's volume within a specific market.) This is the per-agent record search: use it to find specific real-estate agents or build a filtered agent list. (For a single agent by ID use the agent detail endpoint.)
|
|
370
|
+
*/
|
|
371
|
+
static listAgents2(options) {
|
|
372
|
+
return (options?.client ?? client).post({
|
|
373
|
+
security: [{
|
|
374
|
+
name: "x-api-key",
|
|
375
|
+
type: "apiKey"
|
|
376
|
+
}, {
|
|
377
|
+
scheme: "bearer",
|
|
378
|
+
type: "http"
|
|
379
|
+
}],
|
|
380
|
+
url: "/agents",
|
|
381
|
+
...options,
|
|
382
|
+
headers: {
|
|
383
|
+
"Content-Type": "application/json",
|
|
384
|
+
...options?.headers
|
|
385
|
+
}
|
|
386
|
+
});
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Get agent by ID
|
|
390
|
+
*/
|
|
391
|
+
static getAgent2(options) {
|
|
392
|
+
return (options.client ?? client).get({
|
|
393
|
+
security: [{
|
|
394
|
+
name: "x-api-key",
|
|
395
|
+
type: "apiKey"
|
|
396
|
+
}, {
|
|
397
|
+
scheme: "bearer",
|
|
398
|
+
type: "http"
|
|
399
|
+
}],
|
|
400
|
+
url: "/agents/{id}",
|
|
401
|
+
...options
|
|
402
|
+
});
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Production summary with buyer/seller/dual split + previous period
|
|
406
|
+
*/
|
|
407
|
+
static analyticsSummary2(options) {
|
|
408
|
+
return (options?.client ?? client).post({
|
|
409
|
+
security: [{
|
|
410
|
+
name: "x-api-key",
|
|
411
|
+
type: "apiKey"
|
|
412
|
+
}, {
|
|
413
|
+
scheme: "bearer",
|
|
414
|
+
type: "http"
|
|
415
|
+
}],
|
|
416
|
+
url: "/agents/analytics/summary",
|
|
417
|
+
...options,
|
|
418
|
+
headers: {
|
|
419
|
+
"Content-Type": "application/json",
|
|
420
|
+
...options?.headers
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Agent volume/units over time with buyer/seller/dual split
|
|
426
|
+
*/
|
|
427
|
+
static analyticsTimeSeries2(options) {
|
|
428
|
+
return (options?.client ?? client).post({
|
|
429
|
+
security: [{
|
|
430
|
+
name: "x-api-key",
|
|
431
|
+
type: "apiKey"
|
|
432
|
+
}, {
|
|
433
|
+
scheme: "bearer",
|
|
434
|
+
type: "http"
|
|
435
|
+
}],
|
|
436
|
+
url: "/agents/analytics/time-series",
|
|
437
|
+
...options,
|
|
438
|
+
headers: {
|
|
439
|
+
"Content-Type": "application/json",
|
|
440
|
+
...options?.headers
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* Configurable chart (measure × slice) over the agent's sales
|
|
446
|
+
*/
|
|
447
|
+
static analyticsChart2(options) {
|
|
448
|
+
return (options?.client ?? client).post({
|
|
449
|
+
security: [{
|
|
450
|
+
name: "x-api-key",
|
|
451
|
+
type: "apiKey"
|
|
452
|
+
}, {
|
|
453
|
+
scheme: "bearer",
|
|
454
|
+
type: "http"
|
|
455
|
+
}],
|
|
456
|
+
url: "/agents/analytics/chart",
|
|
457
|
+
...options,
|
|
458
|
+
headers: {
|
|
459
|
+
"Content-Type": "application/json",
|
|
460
|
+
...options?.headers
|
|
461
|
+
}
|
|
462
|
+
});
|
|
463
|
+
}
|
|
464
|
+
/**
|
|
465
|
+
* Sales transactions where this agent was listing or selling side
|
|
466
|
+
*/
|
|
467
|
+
static sales2(options) {
|
|
468
|
+
return (options.client ?? client).post({
|
|
469
|
+
security: [{
|
|
470
|
+
name: "x-api-key",
|
|
471
|
+
type: "apiKey"
|
|
472
|
+
}, {
|
|
473
|
+
scheme: "bearer",
|
|
474
|
+
type: "http"
|
|
475
|
+
}],
|
|
476
|
+
url: "/agents/{id}/sales",
|
|
477
|
+
...options,
|
|
478
|
+
headers: {
|
|
479
|
+
"Content-Type": "application/json",
|
|
480
|
+
...options?.headers
|
|
481
|
+
}
|
|
482
|
+
});
|
|
483
|
+
}
|
|
484
|
+
/**
|
|
485
|
+
* Properties this agent has transacted on
|
|
486
|
+
*/
|
|
487
|
+
static properties2(options) {
|
|
488
|
+
return (options.client ?? client).post({
|
|
489
|
+
security: [{
|
|
490
|
+
name: "x-api-key",
|
|
491
|
+
type: "apiKey"
|
|
492
|
+
}, {
|
|
493
|
+
scheme: "bearer",
|
|
494
|
+
type: "http"
|
|
495
|
+
}],
|
|
496
|
+
url: "/agents/{id}/properties",
|
|
497
|
+
...options,
|
|
498
|
+
headers: {
|
|
499
|
+
"Content-Type": "application/json",
|
|
500
|
+
...options?.headers
|
|
501
|
+
}
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Listing offices the agent has closed through
|
|
506
|
+
*/
|
|
507
|
+
static offices2(options) {
|
|
508
|
+
return (options.client ?? client).post({
|
|
509
|
+
security: [{
|
|
510
|
+
name: "x-api-key",
|
|
511
|
+
type: "apiKey"
|
|
512
|
+
}, {
|
|
513
|
+
scheme: "bearer",
|
|
514
|
+
type: "http"
|
|
515
|
+
}],
|
|
516
|
+
url: "/agents/{id}/breakdowns/offices",
|
|
517
|
+
...options,
|
|
518
|
+
headers: {
|
|
519
|
+
"Content-Type": "application/json",
|
|
520
|
+
...options?.headers
|
|
521
|
+
}
|
|
522
|
+
});
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* City volume breakdown across the agent's sales
|
|
526
|
+
*/
|
|
527
|
+
static cities2(options) {
|
|
528
|
+
return (options.client ?? client).post({
|
|
529
|
+
security: [{
|
|
530
|
+
name: "x-api-key",
|
|
531
|
+
type: "apiKey"
|
|
532
|
+
}, {
|
|
533
|
+
scheme: "bearer",
|
|
534
|
+
type: "http"
|
|
535
|
+
}],
|
|
536
|
+
url: "/agents/{id}/breakdowns/cities",
|
|
537
|
+
...options,
|
|
538
|
+
headers: {
|
|
539
|
+
"Content-Type": "application/json",
|
|
540
|
+
...options?.headers
|
|
541
|
+
}
|
|
542
|
+
});
|
|
543
|
+
}
|
|
544
|
+
/**
|
|
545
|
+
* County (FIPS) volume breakdown
|
|
546
|
+
*/
|
|
547
|
+
static counties2(options) {
|
|
548
|
+
return (options.client ?? client).post({
|
|
549
|
+
security: [{
|
|
550
|
+
name: "x-api-key",
|
|
551
|
+
type: "apiKey"
|
|
552
|
+
}, {
|
|
553
|
+
scheme: "bearer",
|
|
554
|
+
type: "http"
|
|
555
|
+
}],
|
|
556
|
+
url: "/agents/{id}/breakdowns/counties",
|
|
557
|
+
...options,
|
|
558
|
+
headers: {
|
|
559
|
+
"Content-Type": "application/json",
|
|
560
|
+
...options?.headers
|
|
561
|
+
}
|
|
562
|
+
});
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* State volume breakdown
|
|
566
|
+
*/
|
|
567
|
+
static states2(options) {
|
|
568
|
+
return (options.client ?? client).post({
|
|
569
|
+
security: [{
|
|
570
|
+
name: "x-api-key",
|
|
571
|
+
type: "apiKey"
|
|
572
|
+
}, {
|
|
573
|
+
scheme: "bearer",
|
|
574
|
+
type: "http"
|
|
575
|
+
}],
|
|
576
|
+
url: "/agents/{id}/breakdowns/states",
|
|
577
|
+
...options,
|
|
578
|
+
headers: {
|
|
579
|
+
"Content-Type": "application/json",
|
|
580
|
+
...options?.headers
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
/**
|
|
585
|
+
* Zip-code volume breakdown
|
|
586
|
+
*/
|
|
587
|
+
static zipCodes2(options) {
|
|
588
|
+
return (options.client ?? client).post({
|
|
589
|
+
security: [{
|
|
590
|
+
name: "x-api-key",
|
|
591
|
+
type: "apiKey"
|
|
592
|
+
}, {
|
|
593
|
+
scheme: "bearer",
|
|
594
|
+
type: "http"
|
|
595
|
+
}],
|
|
596
|
+
url: "/agents/{id}/breakdowns/zip-codes",
|
|
597
|
+
...options,
|
|
598
|
+
headers: {
|
|
599
|
+
"Content-Type": "application/json",
|
|
600
|
+
...options?.headers
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
/**
|
|
605
|
+
* Loan officers the agent worked with (pre-aggregated)
|
|
606
|
+
*/
|
|
607
|
+
static originators2(options) {
|
|
608
|
+
return (options.client ?? client).post({
|
|
609
|
+
security: [{
|
|
610
|
+
name: "x-api-key",
|
|
611
|
+
type: "apiKey"
|
|
612
|
+
}, {
|
|
613
|
+
scheme: "bearer",
|
|
614
|
+
type: "http"
|
|
615
|
+
}],
|
|
616
|
+
url: "/agents/{id}/breakdowns/originators",
|
|
617
|
+
...options,
|
|
618
|
+
headers: {
|
|
619
|
+
"Content-Type": "application/json",
|
|
620
|
+
...options?.headers
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* Mortgage companies the agent dealt with (pre-aggregated)
|
|
626
|
+
*/
|
|
627
|
+
static companies2(options) {
|
|
628
|
+
return (options.client ?? client).post({
|
|
629
|
+
security: [{
|
|
630
|
+
name: "x-api-key",
|
|
631
|
+
type: "apiKey"
|
|
632
|
+
}, {
|
|
633
|
+
scheme: "bearer",
|
|
634
|
+
type: "http"
|
|
635
|
+
}],
|
|
636
|
+
url: "/agents/{id}/breakdowns/companies",
|
|
637
|
+
...options,
|
|
638
|
+
headers: {
|
|
639
|
+
"Content-Type": "application/json",
|
|
640
|
+
...options?.headers
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* Raw-name lenders encountered (pre-aggregated)
|
|
646
|
+
*/
|
|
647
|
+
static lenders2(options) {
|
|
648
|
+
return (options.client ?? client).post({
|
|
649
|
+
security: [{
|
|
650
|
+
name: "x-api-key",
|
|
651
|
+
type: "apiKey"
|
|
652
|
+
}, {
|
|
653
|
+
scheme: "bearer",
|
|
654
|
+
type: "http"
|
|
655
|
+
}],
|
|
656
|
+
url: "/agents/{id}/breakdowns/lenders",
|
|
657
|
+
...options,
|
|
658
|
+
headers: {
|
|
659
|
+
"Content-Type": "application/json",
|
|
660
|
+
...options?.headers
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Submit a bulk-delivery job for agents
|
|
666
|
+
* 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.
|
|
667
|
+
*/
|
|
668
|
+
static submitAgentsBulkDelivery2(options) {
|
|
669
|
+
return (options?.client ?? client).post({
|
|
670
|
+
security: [{
|
|
671
|
+
name: "x-api-key",
|
|
672
|
+
type: "apiKey"
|
|
673
|
+
}, {
|
|
674
|
+
scheme: "bearer",
|
|
675
|
+
type: "http"
|
|
676
|
+
}],
|
|
677
|
+
url: "/agents/bulk-delivery",
|
|
678
|
+
...options,
|
|
679
|
+
headers: {
|
|
680
|
+
"Content-Type": "application/json",
|
|
681
|
+
...options?.headers
|
|
682
|
+
}
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* Get bulk-delivery job status for agents
|
|
687
|
+
*/
|
|
688
|
+
static getAgentsBulkDeliveryJob2(options) {
|
|
689
|
+
return (options.client ?? client).get({
|
|
690
|
+
security: [{
|
|
691
|
+
name: "x-api-key",
|
|
692
|
+
type: "apiKey"
|
|
693
|
+
}, {
|
|
694
|
+
scheme: "bearer",
|
|
695
|
+
type: "http"
|
|
696
|
+
}],
|
|
697
|
+
url: "/agents/bulk-delivery/{jobId}",
|
|
698
|
+
...options
|
|
699
|
+
});
|
|
700
|
+
}
|
|
701
|
+
};
|
|
702
|
+
var Alerts = class {
|
|
703
|
+
/**
|
|
704
|
+
* Get your alert settings
|
|
705
|
+
*/
|
|
706
|
+
static getAlertConditions(options) {
|
|
707
|
+
return (options?.client ?? client).get({
|
|
708
|
+
security: [{
|
|
709
|
+
name: "x-api-key",
|
|
710
|
+
type: "apiKey"
|
|
711
|
+
}, {
|
|
712
|
+
scheme: "bearer",
|
|
713
|
+
type: "http"
|
|
714
|
+
}],
|
|
715
|
+
url: "/v1/alerts/conditions",
|
|
716
|
+
...options
|
|
717
|
+
});
|
|
718
|
+
}
|
|
719
|
+
/**
|
|
720
|
+
* Update your alert settings
|
|
721
|
+
*/
|
|
722
|
+
static updateAlertConditions(options) {
|
|
723
|
+
return (options?.client ?? client).put({
|
|
724
|
+
security: [{
|
|
725
|
+
name: "x-api-key",
|
|
726
|
+
type: "apiKey"
|
|
727
|
+
}, {
|
|
728
|
+
scheme: "bearer",
|
|
729
|
+
type: "http"
|
|
730
|
+
}],
|
|
731
|
+
url: "/v1/alerts/conditions",
|
|
732
|
+
...options,
|
|
733
|
+
headers: {
|
|
734
|
+
"Content-Type": "application/json",
|
|
735
|
+
...options?.headers
|
|
736
|
+
}
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
/**
|
|
740
|
+
* List the agents you watch
|
|
741
|
+
*/
|
|
742
|
+
static listWatchedAgents(options) {
|
|
743
|
+
return (options?.client ?? client).get({
|
|
744
|
+
security: [{
|
|
745
|
+
name: "x-api-key",
|
|
746
|
+
type: "apiKey"
|
|
747
|
+
}, {
|
|
748
|
+
scheme: "bearer",
|
|
749
|
+
type: "http"
|
|
750
|
+
}],
|
|
751
|
+
url: "/v1/alerts/watched-agents",
|
|
752
|
+
...options
|
|
753
|
+
});
|
|
754
|
+
}
|
|
755
|
+
/**
|
|
756
|
+
* Watch an agent
|
|
757
|
+
*/
|
|
758
|
+
static addWatchedAgent(options) {
|
|
759
|
+
return (options?.client ?? client).post({
|
|
760
|
+
security: [{
|
|
761
|
+
name: "x-api-key",
|
|
762
|
+
type: "apiKey"
|
|
763
|
+
}, {
|
|
764
|
+
scheme: "bearer",
|
|
765
|
+
type: "http"
|
|
766
|
+
}],
|
|
767
|
+
url: "/v1/alerts/watched-agents",
|
|
768
|
+
...options,
|
|
769
|
+
headers: {
|
|
770
|
+
"Content-Type": "application/json",
|
|
771
|
+
...options?.headers
|
|
772
|
+
}
|
|
773
|
+
});
|
|
774
|
+
}
|
|
775
|
+
/**
|
|
776
|
+
* Stop watching an agent
|
|
777
|
+
*/
|
|
778
|
+
static removeWatchedAgent(options) {
|
|
779
|
+
return (options.client ?? client).delete({
|
|
780
|
+
security: [{
|
|
781
|
+
name: "x-api-key",
|
|
782
|
+
type: "apiKey"
|
|
783
|
+
}, {
|
|
784
|
+
scheme: "bearer",
|
|
785
|
+
type: "http"
|
|
786
|
+
}],
|
|
787
|
+
url: "/v1/alerts/watched-agents/{id}",
|
|
788
|
+
...options
|
|
789
|
+
});
|
|
790
|
+
}
|
|
791
|
+
/**
|
|
792
|
+
* List the areas you watch
|
|
793
|
+
*/
|
|
794
|
+
static listWatchedAreas(options) {
|
|
795
|
+
return (options?.client ?? client).get({
|
|
796
|
+
security: [{
|
|
797
|
+
name: "x-api-key",
|
|
798
|
+
type: "apiKey"
|
|
799
|
+
}, {
|
|
800
|
+
scheme: "bearer",
|
|
801
|
+
type: "http"
|
|
802
|
+
}],
|
|
803
|
+
url: "/v1/alerts/watched-areas",
|
|
804
|
+
...options
|
|
805
|
+
});
|
|
806
|
+
}
|
|
807
|
+
/**
|
|
808
|
+
* Watch an area
|
|
809
|
+
*/
|
|
810
|
+
static addWatchedArea(options) {
|
|
811
|
+
return (options?.client ?? client).post({
|
|
812
|
+
security: [{
|
|
813
|
+
name: "x-api-key",
|
|
814
|
+
type: "apiKey"
|
|
815
|
+
}, {
|
|
816
|
+
scheme: "bearer",
|
|
817
|
+
type: "http"
|
|
818
|
+
}],
|
|
819
|
+
url: "/v1/alerts/watched-areas",
|
|
820
|
+
...options,
|
|
821
|
+
headers: {
|
|
822
|
+
"Content-Type": "application/json",
|
|
823
|
+
...options?.headers
|
|
824
|
+
}
|
|
825
|
+
});
|
|
826
|
+
}
|
|
827
|
+
/**
|
|
828
|
+
* Stop watching an area
|
|
829
|
+
*/
|
|
830
|
+
static removeWatchedArea(options) {
|
|
831
|
+
return (options.client ?? client).delete({
|
|
832
|
+
security: [{
|
|
833
|
+
name: "x-api-key",
|
|
834
|
+
type: "apiKey"
|
|
835
|
+
}, {
|
|
836
|
+
scheme: "bearer",
|
|
837
|
+
type: "http"
|
|
838
|
+
}],
|
|
839
|
+
url: "/v1/alerts/watched-areas/{id}",
|
|
840
|
+
...options
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
/**
|
|
844
|
+
* List the documents you watch
|
|
845
|
+
*/
|
|
846
|
+
static listWatchedDocuments(options) {
|
|
847
|
+
return (options?.client ?? client).get({
|
|
848
|
+
security: [{
|
|
849
|
+
name: "x-api-key",
|
|
850
|
+
type: "apiKey"
|
|
851
|
+
}, {
|
|
852
|
+
scheme: "bearer",
|
|
853
|
+
type: "http"
|
|
854
|
+
}],
|
|
855
|
+
url: "/v1/alerts/watched-documents",
|
|
856
|
+
...options
|
|
857
|
+
});
|
|
858
|
+
}
|
|
859
|
+
/**
|
|
860
|
+
* Watch a document
|
|
861
|
+
*/
|
|
862
|
+
static addWatchedDocument(options) {
|
|
863
|
+
return (options?.client ?? client).post({
|
|
864
|
+
security: [{
|
|
865
|
+
name: "x-api-key",
|
|
866
|
+
type: "apiKey"
|
|
867
|
+
}, {
|
|
868
|
+
scheme: "bearer",
|
|
869
|
+
type: "http"
|
|
870
|
+
}],
|
|
871
|
+
url: "/v1/alerts/watched-documents",
|
|
872
|
+
...options,
|
|
873
|
+
headers: {
|
|
874
|
+
"Content-Type": "application/json",
|
|
875
|
+
...options?.headers
|
|
876
|
+
}
|
|
877
|
+
});
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Stop watching a document
|
|
881
|
+
*/
|
|
882
|
+
static removeWatchedDocument(options) {
|
|
883
|
+
return (options.client ?? client).delete({
|
|
884
|
+
security: [{
|
|
885
|
+
name: "x-api-key",
|
|
886
|
+
type: "apiKey"
|
|
887
|
+
}, {
|
|
888
|
+
scheme: "bearer",
|
|
889
|
+
type: "http"
|
|
890
|
+
}],
|
|
891
|
+
url: "/v1/alerts/watched-documents/{documentType}/{documentId}",
|
|
892
|
+
...options
|
|
893
|
+
});
|
|
894
|
+
}
|
|
895
|
+
/**
|
|
896
|
+
* List your alerts (newest first)
|
|
897
|
+
*/
|
|
898
|
+
static listAlertLog(options) {
|
|
899
|
+
return (options?.client ?? client).get({
|
|
900
|
+
security: [{
|
|
901
|
+
name: "x-api-key",
|
|
902
|
+
type: "apiKey"
|
|
903
|
+
}, {
|
|
904
|
+
scheme: "bearer",
|
|
905
|
+
type: "http"
|
|
906
|
+
}],
|
|
907
|
+
url: "/v1/alerts/log",
|
|
908
|
+
...options
|
|
909
|
+
});
|
|
910
|
+
}
|
|
911
|
+
/**
|
|
912
|
+
* Clear the unread badge
|
|
913
|
+
*/
|
|
914
|
+
static markAllAlertsRead(options) {
|
|
915
|
+
return (options?.client ?? client).post({
|
|
916
|
+
security: [{
|
|
917
|
+
name: "x-api-key",
|
|
918
|
+
type: "apiKey"
|
|
919
|
+
}, {
|
|
920
|
+
scheme: "bearer",
|
|
921
|
+
type: "http"
|
|
922
|
+
}],
|
|
923
|
+
url: "/v1/alerts/log/mark-all-read",
|
|
924
|
+
...options
|
|
925
|
+
});
|
|
926
|
+
}
|
|
927
|
+
/**
|
|
928
|
+
* Mark one alert read
|
|
929
|
+
*/
|
|
930
|
+
static markAlertRead(options) {
|
|
931
|
+
return (options.client ?? client).post({
|
|
932
|
+
security: [{
|
|
933
|
+
name: "x-api-key",
|
|
934
|
+
type: "apiKey"
|
|
935
|
+
}, {
|
|
936
|
+
scheme: "bearer",
|
|
937
|
+
type: "http"
|
|
938
|
+
}],
|
|
939
|
+
url: "/v1/alerts/log/{id}/read",
|
|
940
|
+
...options
|
|
941
|
+
});
|
|
942
|
+
}
|
|
943
|
+
/**
|
|
944
|
+
* Get your unread alert count
|
|
945
|
+
*/
|
|
946
|
+
static getAlertUnreadCount(options) {
|
|
947
|
+
return (options?.client ?? client).get({
|
|
948
|
+
security: [{
|
|
949
|
+
name: "x-api-key",
|
|
950
|
+
type: "apiKey"
|
|
951
|
+
}, {
|
|
952
|
+
scheme: "bearer",
|
|
953
|
+
type: "http"
|
|
954
|
+
}],
|
|
955
|
+
url: "/v1/alerts/unread-count",
|
|
956
|
+
...options
|
|
957
|
+
});
|
|
958
|
+
}
|
|
959
|
+
/**
|
|
960
|
+
* List your alert digests (newest first)
|
|
961
|
+
*/
|
|
962
|
+
static listAlertDigests(options) {
|
|
963
|
+
return (options?.client ?? client).get({
|
|
964
|
+
security: [{
|
|
965
|
+
name: "x-api-key",
|
|
966
|
+
type: "apiKey"
|
|
967
|
+
}, {
|
|
968
|
+
scheme: "bearer",
|
|
969
|
+
type: "http"
|
|
970
|
+
}],
|
|
971
|
+
url: "/v1/alerts/digests",
|
|
972
|
+
...options
|
|
973
|
+
});
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Mark one digest read
|
|
977
|
+
*/
|
|
978
|
+
static markAlertDigestRead(options) {
|
|
979
|
+
return (options.client ?? client).post({
|
|
980
|
+
security: [{
|
|
981
|
+
name: "x-api-key",
|
|
982
|
+
type: "apiKey"
|
|
983
|
+
}, {
|
|
984
|
+
scheme: "bearer",
|
|
985
|
+
type: "http"
|
|
986
|
+
}],
|
|
987
|
+
url: "/v1/alerts/digests/{id}/read",
|
|
988
|
+
...options
|
|
989
|
+
});
|
|
990
|
+
}
|
|
991
|
+
/**
|
|
992
|
+
* Preview the alerts that would fire for you
|
|
993
|
+
* Runs all six detectors scoped to your own token, in-process and synchronously, as a dry-run: returns the alerts that WOULD fire (per detector, with the decision payloads) without writing the feed, publishing events, or sending email.
|
|
994
|
+
*/
|
|
995
|
+
static preview(options) {
|
|
996
|
+
return (options?.client ?? client).post({
|
|
997
|
+
security: [{
|
|
998
|
+
name: "x-api-key",
|
|
999
|
+
type: "apiKey"
|
|
1000
|
+
}, {
|
|
1001
|
+
scheme: "bearer",
|
|
1002
|
+
type: "http"
|
|
1003
|
+
}],
|
|
1004
|
+
url: "/v1/alerts/preview",
|
|
1005
|
+
...options,
|
|
1006
|
+
headers: {
|
|
1007
|
+
"Content-Type": "application/json",
|
|
1008
|
+
...options?.headers
|
|
1009
|
+
}
|
|
1010
|
+
});
|
|
1011
|
+
}
|
|
1012
|
+
};
|
|
1013
|
+
var Branches = class {
|
|
1014
|
+
/**
|
|
1015
|
+
* Search branches with filters
|
|
1016
|
+
* 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 carries branch-level production metrics for the selected period.
|
|
1017
|
+
*/
|
|
1018
|
+
static list(options) {
|
|
1019
|
+
return (options?.client ?? client).post({
|
|
1020
|
+
security: [{
|
|
1021
|
+
name: "x-api-key",
|
|
1022
|
+
type: "apiKey"
|
|
1023
|
+
}, {
|
|
1024
|
+
scheme: "bearer",
|
|
1025
|
+
type: "http"
|
|
1026
|
+
}],
|
|
1027
|
+
url: "/v1/branches",
|
|
1028
|
+
...options,
|
|
1029
|
+
headers: {
|
|
1030
|
+
"Content-Type": "application/json",
|
|
1031
|
+
...options?.headers
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1035
|
+
/**
|
|
1036
|
+
* Get branch by NMLS ID
|
|
1037
|
+
* Retrieve full details for a single NMLS mortgage branch including name, address, parent company, managers, trade names, licensing, and branch-level production for the selected period.
|
|
1038
|
+
*/
|
|
1039
|
+
static get(options) {
|
|
1040
|
+
return (options.client ?? client).get({
|
|
1041
|
+
security: [{
|
|
1042
|
+
name: "x-api-key",
|
|
1043
|
+
type: "apiKey"
|
|
1044
|
+
}, {
|
|
1045
|
+
scheme: "bearer",
|
|
1046
|
+
type: "http"
|
|
1047
|
+
}],
|
|
1048
|
+
url: "/v1/branches/{nmlsId}",
|
|
1049
|
+
...options
|
|
1050
|
+
});
|
|
1051
|
+
}
|
|
1052
|
+
/**
|
|
1053
|
+
* Submit a bulk-delivery job for branches
|
|
1054
|
+
* 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.
|
|
1055
|
+
*/
|
|
1056
|
+
static submitBranchesBulkDelivery(options) {
|
|
1057
|
+
return (options?.client ?? client).post({
|
|
1058
|
+
security: [{
|
|
1059
|
+
name: "x-api-key",
|
|
1060
|
+
type: "apiKey"
|
|
1061
|
+
}, {
|
|
1062
|
+
scheme: "bearer",
|
|
1063
|
+
type: "http"
|
|
1064
|
+
}],
|
|
1065
|
+
url: "/v1/branches/bulk-delivery",
|
|
1066
|
+
...options,
|
|
1067
|
+
headers: {
|
|
1068
|
+
"Content-Type": "application/json",
|
|
1069
|
+
...options?.headers
|
|
1070
|
+
}
|
|
1071
|
+
});
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Get bulk-delivery job status for branches
|
|
1075
|
+
*/
|
|
1076
|
+
static getBranchesBulkDeliveryJob(options) {
|
|
1077
|
+
return (options.client ?? client).get({
|
|
1078
|
+
security: [{
|
|
1079
|
+
name: "x-api-key",
|
|
1080
|
+
type: "apiKey"
|
|
1081
|
+
}, {
|
|
1082
|
+
scheme: "bearer",
|
|
1083
|
+
type: "http"
|
|
1084
|
+
}],
|
|
1085
|
+
url: "/v1/branches/bulk-delivery/{jobId}",
|
|
1086
|
+
...options
|
|
1087
|
+
});
|
|
1088
|
+
}
|
|
1089
|
+
};
|
|
1090
|
+
var Companies = class {
|
|
1091
|
+
/**
|
|
1092
|
+
* Search companies with filters
|
|
1093
|
+
* Search and list individual mortgage companies with filters — one row per company. Filter by name, NMLS ID, location (state, county, city, zip), and production metrics (loan volume, units, market share) by period and geography, with sorting and cursor pagination. This is the per-company record search: use it to find specific mortgage lenders/companies or build a filtered company list. (For a single company by ID use the company detail endpoint.)
|
|
1094
|
+
*/
|
|
1095
|
+
static list(options) {
|
|
1096
|
+
return (options?.client ?? client).post({
|
|
1097
|
+
security: [{
|
|
1098
|
+
name: "x-api-key",
|
|
1099
|
+
type: "apiKey"
|
|
1100
|
+
}, {
|
|
1101
|
+
scheme: "bearer",
|
|
1102
|
+
type: "http"
|
|
1103
|
+
}],
|
|
1104
|
+
url: "/v1/companies",
|
|
1105
|
+
...options,
|
|
1106
|
+
headers: {
|
|
1107
|
+
"Content-Type": "application/json",
|
|
1108
|
+
...options?.headers
|
|
1109
|
+
}
|
|
1110
|
+
});
|
|
1111
|
+
}
|
|
1112
|
+
/**
|
|
1113
|
+
* Get company by NMLS ID
|
|
1114
|
+
*/
|
|
1115
|
+
static get(options) {
|
|
1116
|
+
return (options.client ?? client).get({
|
|
1117
|
+
security: [{
|
|
1118
|
+
name: "x-api-key",
|
|
1119
|
+
type: "apiKey"
|
|
1120
|
+
}, {
|
|
1121
|
+
scheme: "bearer",
|
|
1122
|
+
type: "http"
|
|
1123
|
+
}],
|
|
1124
|
+
url: "/v1/companies/{nmlsId}",
|
|
1125
|
+
...options
|
|
1126
|
+
});
|
|
1127
|
+
}
|
|
1128
|
+
/**
|
|
1129
|
+
* Production summary with previous-period comparison
|
|
1130
|
+
*/
|
|
1131
|
+
static analyticsSummary(options) {
|
|
1132
|
+
return (options?.client ?? client).post({
|
|
1133
|
+
security: [{
|
|
1134
|
+
name: "x-api-key",
|
|
1135
|
+
type: "apiKey"
|
|
1136
|
+
}, {
|
|
1137
|
+
scheme: "bearer",
|
|
1138
|
+
type: "http"
|
|
1139
|
+
}],
|
|
1140
|
+
url: "/v1/companies/analytics/summary",
|
|
1141
|
+
...options,
|
|
1142
|
+
headers: {
|
|
1143
|
+
"Content-Type": "application/json",
|
|
1144
|
+
...options?.headers
|
|
1145
|
+
}
|
|
1146
|
+
});
|
|
1147
|
+
}
|
|
1148
|
+
/**
|
|
1149
|
+
* Company volume / units over time
|
|
1150
|
+
*/
|
|
1151
|
+
static analyticsTimeSeries(options) {
|
|
1152
|
+
return (options?.client ?? client).post({
|
|
1153
|
+
security: [{
|
|
1154
|
+
name: "x-api-key",
|
|
1155
|
+
type: "apiKey"
|
|
1156
|
+
}, {
|
|
1157
|
+
scheme: "bearer",
|
|
1158
|
+
type: "http"
|
|
1159
|
+
}],
|
|
1160
|
+
url: "/v1/companies/analytics/time-series",
|
|
1161
|
+
...options,
|
|
1162
|
+
headers: {
|
|
1163
|
+
"Content-Type": "application/json",
|
|
1164
|
+
...options?.headers
|
|
1165
|
+
}
|
|
1166
|
+
});
|
|
1167
|
+
}
|
|
1168
|
+
/**
|
|
1169
|
+
* Configurable chart (measure × slice) over company's loans
|
|
1170
|
+
*/
|
|
1171
|
+
static analyticsChart(options) {
|
|
1172
|
+
return (options?.client ?? client).post({
|
|
1173
|
+
security: [{
|
|
1174
|
+
name: "x-api-key",
|
|
1175
|
+
type: "apiKey"
|
|
1176
|
+
}, {
|
|
1177
|
+
scheme: "bearer",
|
|
1178
|
+
type: "http"
|
|
1179
|
+
}],
|
|
1180
|
+
url: "/v1/companies/analytics/chart",
|
|
1181
|
+
...options,
|
|
1182
|
+
headers: {
|
|
1183
|
+
"Content-Type": "application/json",
|
|
1184
|
+
...options?.headers
|
|
1185
|
+
}
|
|
1186
|
+
});
|
|
1187
|
+
}
|
|
1188
|
+
/**
|
|
1189
|
+
* Loan originators sponsored by this company
|
|
1190
|
+
*/
|
|
1191
|
+
static sponsoredIndividuals(options) {
|
|
1192
|
+
return (options.client ?? client).post({
|
|
1193
|
+
security: [{
|
|
1194
|
+
name: "x-api-key",
|
|
1195
|
+
type: "apiKey"
|
|
1196
|
+
}, {
|
|
1197
|
+
scheme: "bearer",
|
|
1198
|
+
type: "http"
|
|
1199
|
+
}],
|
|
1200
|
+
url: "/v1/companies/{nmlsId}/sponsored-individuals",
|
|
1201
|
+
...options,
|
|
1202
|
+
headers: {
|
|
1203
|
+
"Content-Type": "application/json",
|
|
1204
|
+
...options?.headers
|
|
1205
|
+
}
|
|
1206
|
+
});
|
|
1207
|
+
}
|
|
1208
|
+
/**
|
|
1209
|
+
* Branch locations for this company
|
|
1210
|
+
*/
|
|
1211
|
+
static branches(options) {
|
|
1212
|
+
return (options.client ?? client).post({
|
|
1213
|
+
security: [{
|
|
1214
|
+
name: "x-api-key",
|
|
1215
|
+
type: "apiKey"
|
|
1216
|
+
}, {
|
|
1217
|
+
scheme: "bearer",
|
|
1218
|
+
type: "http"
|
|
1219
|
+
}],
|
|
1220
|
+
url: "/v1/companies/{nmlsId}/branches",
|
|
1221
|
+
...options,
|
|
1222
|
+
headers: {
|
|
1223
|
+
"Content-Type": "application/json",
|
|
1224
|
+
...options?.headers
|
|
1225
|
+
}
|
|
1226
|
+
});
|
|
1227
|
+
}
|
|
1228
|
+
/**
|
|
1229
|
+
* Loan officers who originated through this company
|
|
1230
|
+
*/
|
|
1231
|
+
static originators(options) {
|
|
1232
|
+
return (options.client ?? client).post({
|
|
1233
|
+
security: [{
|
|
1234
|
+
name: "x-api-key",
|
|
1235
|
+
type: "apiKey"
|
|
1236
|
+
}, {
|
|
1237
|
+
scheme: "bearer",
|
|
1238
|
+
type: "http"
|
|
1239
|
+
}],
|
|
1240
|
+
url: "/v1/companies/{nmlsId}/breakdowns/originators",
|
|
1241
|
+
...options,
|
|
1242
|
+
headers: {
|
|
1243
|
+
"Content-Type": "application/json",
|
|
1244
|
+
...options?.headers
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
}
|
|
1248
|
+
/**
|
|
1249
|
+
* Lenders this company originated through
|
|
1250
|
+
*/
|
|
1251
|
+
static lenders(options) {
|
|
1252
|
+
return (options.client ?? client).post({
|
|
1253
|
+
security: [{
|
|
1254
|
+
name: "x-api-key",
|
|
1255
|
+
type: "apiKey"
|
|
1256
|
+
}, {
|
|
1257
|
+
scheme: "bearer",
|
|
1258
|
+
type: "http"
|
|
1259
|
+
}],
|
|
1260
|
+
url: "/v1/companies/{nmlsId}/breakdowns/lenders",
|
|
1261
|
+
...options,
|
|
1262
|
+
headers: {
|
|
1263
|
+
"Content-Type": "application/json",
|
|
1264
|
+
...options?.headers
|
|
1265
|
+
}
|
|
1266
|
+
});
|
|
1267
|
+
}
|
|
1268
|
+
/**
|
|
1269
|
+
* Broker shops that originated loans funding through this company. For a wholesale/TPO lender this is its top broker partners.
|
|
1270
|
+
*/
|
|
1271
|
+
static brokers(options) {
|
|
1272
|
+
return (options.client ?? client).post({
|
|
1273
|
+
security: [{
|
|
1274
|
+
name: "x-api-key",
|
|
1275
|
+
type: "apiKey"
|
|
1276
|
+
}, {
|
|
1277
|
+
scheme: "bearer",
|
|
1278
|
+
type: "http"
|
|
1279
|
+
}],
|
|
1280
|
+
url: "/v1/companies/{nmlsId}/breakdowns/brokers",
|
|
1281
|
+
...options,
|
|
1282
|
+
headers: {
|
|
1283
|
+
"Content-Type": "application/json",
|
|
1284
|
+
...options?.headers
|
|
1285
|
+
}
|
|
1286
|
+
});
|
|
1287
|
+
}
|
|
1288
|
+
/**
|
|
1289
|
+
* Broker offices this company originated through
|
|
1290
|
+
*/
|
|
1291
|
+
static offices(options) {
|
|
1292
|
+
return (options.client ?? client).post({
|
|
1293
|
+
security: [{
|
|
1294
|
+
name: "x-api-key",
|
|
1295
|
+
type: "apiKey"
|
|
1296
|
+
}, {
|
|
1297
|
+
scheme: "bearer",
|
|
1298
|
+
type: "http"
|
|
1299
|
+
}],
|
|
1300
|
+
url: "/v1/companies/{nmlsId}/breakdowns/offices",
|
|
1301
|
+
...options,
|
|
1302
|
+
headers: {
|
|
1303
|
+
"Content-Type": "application/json",
|
|
1304
|
+
...options?.headers
|
|
1305
|
+
}
|
|
1306
|
+
});
|
|
1307
|
+
}
|
|
1308
|
+
/**
|
|
1309
|
+
* City volume breakdown across this company's loans
|
|
1310
|
+
*/
|
|
1311
|
+
static cities(options) {
|
|
1312
|
+
return (options.client ?? client).post({
|
|
1313
|
+
security: [{
|
|
1314
|
+
name: "x-api-key",
|
|
1315
|
+
type: "apiKey"
|
|
1316
|
+
}, {
|
|
1317
|
+
scheme: "bearer",
|
|
1318
|
+
type: "http"
|
|
1319
|
+
}],
|
|
1320
|
+
url: "/v1/companies/{nmlsId}/breakdowns/cities",
|
|
1321
|
+
...options,
|
|
1322
|
+
headers: {
|
|
1323
|
+
"Content-Type": "application/json",
|
|
1324
|
+
...options?.headers
|
|
1325
|
+
}
|
|
1326
|
+
});
|
|
1327
|
+
}
|
|
1328
|
+
/**
|
|
1329
|
+
* State volume breakdown across this company's loans
|
|
1330
|
+
*/
|
|
1331
|
+
static states(options) {
|
|
1332
|
+
return (options.client ?? client).post({
|
|
1333
|
+
security: [{
|
|
1334
|
+
name: "x-api-key",
|
|
1335
|
+
type: "apiKey"
|
|
1336
|
+
}, {
|
|
1337
|
+
scheme: "bearer",
|
|
1338
|
+
type: "http"
|
|
1339
|
+
}],
|
|
1340
|
+
url: "/v1/companies/{nmlsId}/breakdowns/states",
|
|
1341
|
+
...options,
|
|
1342
|
+
headers: {
|
|
1343
|
+
"Content-Type": "application/json",
|
|
1344
|
+
...options?.headers
|
|
1345
|
+
}
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1348
|
+
/**
|
|
1349
|
+
* County (FIPS) volume breakdown across this company's loans
|
|
1350
|
+
*/
|
|
1351
|
+
static counties(options) {
|
|
1352
|
+
return (options.client ?? client).post({
|
|
1353
|
+
security: [{
|
|
1354
|
+
name: "x-api-key",
|
|
1355
|
+
type: "apiKey"
|
|
1356
|
+
}, {
|
|
1357
|
+
scheme: "bearer",
|
|
1358
|
+
type: "http"
|
|
1359
|
+
}],
|
|
1360
|
+
url: "/v1/companies/{nmlsId}/breakdowns/counties",
|
|
1361
|
+
...options,
|
|
1362
|
+
headers: {
|
|
1363
|
+
"Content-Type": "application/json",
|
|
1364
|
+
...options?.headers
|
|
1365
|
+
}
|
|
1366
|
+
});
|
|
1367
|
+
}
|
|
1368
|
+
/**
|
|
1369
|
+
* Analyze LO arrivals and departures for a company
|
|
1370
|
+
*/
|
|
1371
|
+
static sponsorshipMovement(options) {
|
|
1372
|
+
return (options.client ?? client).post({
|
|
1373
|
+
security: [{
|
|
1374
|
+
name: "x-api-key",
|
|
1375
|
+
type: "apiKey"
|
|
1376
|
+
}, {
|
|
1377
|
+
scheme: "bearer",
|
|
1378
|
+
type: "http"
|
|
1379
|
+
}],
|
|
1380
|
+
url: "/v1/companies/{nmlsId}/sponsorship-movement",
|
|
1381
|
+
...options,
|
|
1382
|
+
headers: {
|
|
1383
|
+
"Content-Type": "application/json",
|
|
1384
|
+
...options?.headers
|
|
1385
|
+
}
|
|
1386
|
+
});
|
|
1387
|
+
}
|
|
1388
|
+
/**
|
|
1389
|
+
* Submit a bulk-delivery job for companies
|
|
1390
|
+
* 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.
|
|
1391
|
+
*/
|
|
1392
|
+
static submitCompaniesBulkDelivery(options) {
|
|
1393
|
+
return (options?.client ?? client).post({
|
|
1394
|
+
security: [{
|
|
1395
|
+
name: "x-api-key",
|
|
1396
|
+
type: "apiKey"
|
|
1397
|
+
}, {
|
|
1398
|
+
scheme: "bearer",
|
|
1399
|
+
type: "http"
|
|
1400
|
+
}],
|
|
1401
|
+
url: "/v1/companies/bulk-delivery",
|
|
1402
|
+
...options,
|
|
1403
|
+
headers: {
|
|
1404
|
+
"Content-Type": "application/json",
|
|
1405
|
+
...options?.headers
|
|
1406
|
+
}
|
|
1407
|
+
});
|
|
1408
|
+
}
|
|
1409
|
+
/**
|
|
1410
|
+
* Get bulk-delivery job status for companies
|
|
1411
|
+
*/
|
|
1412
|
+
static getCompaniesBulkDeliveryJob(options) {
|
|
1413
|
+
return (options.client ?? client).get({
|
|
1414
|
+
security: [{
|
|
1415
|
+
name: "x-api-key",
|
|
1416
|
+
type: "apiKey"
|
|
1417
|
+
}, {
|
|
1418
|
+
scheme: "bearer",
|
|
1419
|
+
type: "http"
|
|
1420
|
+
}],
|
|
1421
|
+
url: "/v1/companies/bulk-delivery/{jobId}",
|
|
1422
|
+
...options
|
|
1423
|
+
});
|
|
1424
|
+
}
|
|
1425
|
+
};
|
|
1426
|
+
var Crm = class {
|
|
1427
|
+
/**
|
|
1428
|
+
* Find an existing CRM record by NMLS id
|
|
1429
|
+
*/
|
|
1430
|
+
static findCrmRecordByNmls(options) {
|
|
1431
|
+
return (options.client ?? client).get({
|
|
1432
|
+
security: [{
|
|
1433
|
+
name: "x-api-key",
|
|
1434
|
+
type: "apiKey"
|
|
1435
|
+
}, {
|
|
1436
|
+
scheme: "bearer",
|
|
1437
|
+
type: "http"
|
|
1438
|
+
}],
|
|
1439
|
+
url: "/v1/crm/records/by-nmls",
|
|
1440
|
+
...options
|
|
1441
|
+
});
|
|
1442
|
+
}
|
|
1443
|
+
/**
|
|
1444
|
+
* Add a record to the CRM (and optionally a list)
|
|
1445
|
+
*/
|
|
1446
|
+
static addCrmRecord(options) {
|
|
1447
|
+
return (options?.client ?? client).post({
|
|
1448
|
+
security: [{
|
|
1449
|
+
name: "x-api-key",
|
|
1450
|
+
type: "apiKey"
|
|
1451
|
+
}, {
|
|
1452
|
+
scheme: "bearer",
|
|
1453
|
+
type: "http"
|
|
1454
|
+
}],
|
|
1455
|
+
url: "/v1/crm/records/add",
|
|
1456
|
+
...options,
|
|
1457
|
+
headers: {
|
|
1458
|
+
"Content-Type": "application/json",
|
|
1459
|
+
...options?.headers
|
|
1460
|
+
}
|
|
1461
|
+
});
|
|
1462
|
+
}
|
|
1463
|
+
/**
|
|
1464
|
+
* Remove one or more records from the CRM
|
|
1465
|
+
*/
|
|
1466
|
+
static deleteCrmRecords(options) {
|
|
1467
|
+
return (options?.client ?? client).post({
|
|
1468
|
+
security: [{
|
|
1469
|
+
name: "x-api-key",
|
|
1470
|
+
type: "apiKey"
|
|
1471
|
+
}, {
|
|
1472
|
+
scheme: "bearer",
|
|
1473
|
+
type: "http"
|
|
1474
|
+
}],
|
|
1475
|
+
url: "/v1/crm/records/delete",
|
|
1476
|
+
...options,
|
|
1477
|
+
headers: {
|
|
1478
|
+
"Content-Type": "application/json",
|
|
1479
|
+
...options?.headers
|
|
1480
|
+
}
|
|
1481
|
+
});
|
|
1482
|
+
}
|
|
1483
|
+
/**
|
|
1484
|
+
* Create a manual (unmatched) CRM record
|
|
1485
|
+
*/
|
|
1486
|
+
static createCrmManualRecord(options) {
|
|
1487
|
+
return (options?.client ?? client).post({
|
|
1488
|
+
security: [{
|
|
1489
|
+
name: "x-api-key",
|
|
1490
|
+
type: "apiKey"
|
|
1491
|
+
}, {
|
|
1492
|
+
scheme: "bearer",
|
|
1493
|
+
type: "http"
|
|
1494
|
+
}],
|
|
1495
|
+
url: "/v1/crm/records/create",
|
|
1496
|
+
...options,
|
|
1497
|
+
headers: {
|
|
1498
|
+
"Content-Type": "application/json",
|
|
1499
|
+
...options?.headers
|
|
1500
|
+
}
|
|
1501
|
+
});
|
|
1502
|
+
}
|
|
1503
|
+
/**
|
|
1504
|
+
* Remove a record from the workspace CRM
|
|
1505
|
+
*/
|
|
1506
|
+
static deleteCrmRecord(options) {
|
|
1507
|
+
return (options.client ?? client).delete({
|
|
1508
|
+
security: [{
|
|
1509
|
+
name: "x-api-key",
|
|
1510
|
+
type: "apiKey"
|
|
1511
|
+
}, {
|
|
1512
|
+
scheme: "bearer",
|
|
1513
|
+
type: "http"
|
|
1514
|
+
}],
|
|
1515
|
+
url: "/v1/crm/records",
|
|
1516
|
+
...options
|
|
1517
|
+
});
|
|
1518
|
+
}
|
|
1519
|
+
/**
|
|
1520
|
+
* (Re)assign a record's working owner
|
|
1521
|
+
*/
|
|
1522
|
+
static setCrmRecordOwner(options) {
|
|
1523
|
+
return (options?.client ?? client).patch({
|
|
1524
|
+
security: [{
|
|
1525
|
+
name: "x-api-key",
|
|
1526
|
+
type: "apiKey"
|
|
1527
|
+
}, {
|
|
1528
|
+
scheme: "bearer",
|
|
1529
|
+
type: "http"
|
|
1530
|
+
}],
|
|
1531
|
+
url: "/v1/crm/records",
|
|
1532
|
+
...options,
|
|
1533
|
+
headers: {
|
|
1534
|
+
"Content-Type": "application/json",
|
|
1535
|
+
...options?.headers
|
|
1536
|
+
}
|
|
1537
|
+
});
|
|
1538
|
+
}
|
|
1539
|
+
/**
|
|
1540
|
+
* Create (or refresh) a canonical record from a match
|
|
1541
|
+
*/
|
|
1542
|
+
static createCrmRecord(options) {
|
|
1543
|
+
return (options?.client ?? client).post({
|
|
1544
|
+
security: [{
|
|
1545
|
+
name: "x-api-key",
|
|
1546
|
+
type: "apiKey"
|
|
1547
|
+
}, {
|
|
1548
|
+
scheme: "bearer",
|
|
1549
|
+
type: "http"
|
|
1550
|
+
}],
|
|
1551
|
+
url: "/v1/crm/records",
|
|
1552
|
+
...options,
|
|
1553
|
+
headers: {
|
|
1554
|
+
"Content-Type": "application/json",
|
|
1555
|
+
...options?.headers
|
|
1556
|
+
}
|
|
1557
|
+
});
|
|
1558
|
+
}
|
|
1559
|
+
/**
|
|
1560
|
+
* Free-text search over CRM records
|
|
1561
|
+
*/
|
|
1562
|
+
static searchCrmRecords(options) {
|
|
1563
|
+
return (options?.client ?? client).post({
|
|
1564
|
+
security: [{
|
|
1565
|
+
name: "x-api-key",
|
|
1566
|
+
type: "apiKey"
|
|
1567
|
+
}, {
|
|
1568
|
+
scheme: "bearer",
|
|
1569
|
+
type: "http"
|
|
1570
|
+
}],
|
|
1571
|
+
url: "/v1/crm/records/search",
|
|
1572
|
+
...options,
|
|
1573
|
+
headers: {
|
|
1574
|
+
"Content-Type": "application/json",
|
|
1575
|
+
...options?.headers
|
|
1576
|
+
}
|
|
1577
|
+
});
|
|
1578
|
+
}
|
|
1579
|
+
/**
|
|
1580
|
+
* Bulk add records to the canonical CRM (listless)
|
|
1581
|
+
*/
|
|
1582
|
+
static addCrmRecordsBulk(options) {
|
|
1583
|
+
return (options?.client ?? client).post({
|
|
1584
|
+
security: [{
|
|
1585
|
+
name: "x-api-key",
|
|
1586
|
+
type: "apiKey"
|
|
1587
|
+
}, {
|
|
1588
|
+
scheme: "bearer",
|
|
1589
|
+
type: "http"
|
|
1590
|
+
}],
|
|
1591
|
+
url: "/v1/crm/records/add/bulk",
|
|
1592
|
+
...options,
|
|
1593
|
+
headers: {
|
|
1594
|
+
"Content-Type": "application/json",
|
|
1595
|
+
...options?.headers
|
|
1596
|
+
}
|
|
1597
|
+
});
|
|
1598
|
+
}
|
|
1599
|
+
/**
|
|
1600
|
+
* Get an add-time production-enrich job's status
|
|
1601
|
+
*/
|
|
1602
|
+
static getCrmProductionEnrichJob(options) {
|
|
1603
|
+
return (options.client ?? client).get({
|
|
1604
|
+
security: [{
|
|
1605
|
+
name: "x-api-key",
|
|
1606
|
+
type: "apiKey"
|
|
1607
|
+
}, {
|
|
1608
|
+
scheme: "bearer",
|
|
1609
|
+
type: "http"
|
|
1610
|
+
}],
|
|
1611
|
+
url: "/v1/crm/production-enrich/{jobId}",
|
|
1612
|
+
...options
|
|
1613
|
+
});
|
|
1614
|
+
}
|
|
1615
|
+
/**
|
|
1616
|
+
* Relationship cross-reference for a record (in-CRM partners + colleagues)
|
|
1617
|
+
*/
|
|
1618
|
+
static getCrmRecordConnections(options) {
|
|
1619
|
+
return (options?.client ?? client).post({
|
|
1620
|
+
security: [{
|
|
1621
|
+
name: "x-api-key",
|
|
1622
|
+
type: "apiKey"
|
|
1623
|
+
}, {
|
|
1624
|
+
scheme: "bearer",
|
|
1625
|
+
type: "http"
|
|
1626
|
+
}],
|
|
1627
|
+
url: "/v1/crm/records/connections",
|
|
1628
|
+
...options,
|
|
1629
|
+
headers: {
|
|
1630
|
+
"Content-Type": "application/json",
|
|
1631
|
+
...options?.headers
|
|
1632
|
+
}
|
|
1633
|
+
});
|
|
1634
|
+
}
|
|
1635
|
+
/**
|
|
1636
|
+
* Name-first search over visible CRM records for the mention picker
|
|
1637
|
+
*/
|
|
1638
|
+
static searchCrmMentionRecords(options) {
|
|
1639
|
+
return (options?.client ?? client).post({
|
|
1640
|
+
security: [{
|
|
1641
|
+
name: "x-api-key",
|
|
1642
|
+
type: "apiKey"
|
|
1643
|
+
}, {
|
|
1644
|
+
scheme: "bearer",
|
|
1645
|
+
type: "http"
|
|
1646
|
+
}],
|
|
1647
|
+
url: "/v1/crm/records/mention-search",
|
|
1648
|
+
...options,
|
|
1649
|
+
headers: {
|
|
1650
|
+
"Content-Type": "application/json",
|
|
1651
|
+
...options?.headers
|
|
1652
|
+
}
|
|
1653
|
+
});
|
|
1654
|
+
}
|
|
1655
|
+
/**
|
|
1656
|
+
* Aggregate profile read for a CRM record
|
|
1657
|
+
*/
|
|
1658
|
+
static getCrmRecordProfile(options) {
|
|
1659
|
+
return (options.client ?? client).get({
|
|
1660
|
+
security: [{
|
|
1661
|
+
name: "x-api-key",
|
|
1662
|
+
type: "apiKey"
|
|
1663
|
+
}, {
|
|
1664
|
+
scheme: "bearer",
|
|
1665
|
+
type: "http"
|
|
1666
|
+
}],
|
|
1667
|
+
url: "/v1/crm/profile",
|
|
1668
|
+
...options
|
|
1669
|
+
});
|
|
1670
|
+
}
|
|
1671
|
+
/**
|
|
1672
|
+
* List curated CRM records of an object type
|
|
1673
|
+
*/
|
|
1674
|
+
static listCrmMembers(options) {
|
|
1675
|
+
return (options.client ?? client).get({
|
|
1676
|
+
security: [{
|
|
1677
|
+
name: "x-api-key",
|
|
1678
|
+
type: "apiKey"
|
|
1679
|
+
}, {
|
|
1680
|
+
scheme: "bearer",
|
|
1681
|
+
type: "http"
|
|
1682
|
+
}],
|
|
1683
|
+
url: "/v1/crm/members",
|
|
1684
|
+
...options
|
|
1685
|
+
});
|
|
1686
|
+
}
|
|
1687
|
+
/**
|
|
1688
|
+
* Batch-read record overrides
|
|
1689
|
+
*/
|
|
1690
|
+
static getCrmOverrides(options) {
|
|
1691
|
+
return (options.client ?? client).get({
|
|
1692
|
+
security: [{
|
|
1693
|
+
name: "x-api-key",
|
|
1694
|
+
type: "apiKey"
|
|
1695
|
+
}, {
|
|
1696
|
+
scheme: "bearer",
|
|
1697
|
+
type: "http"
|
|
1698
|
+
}],
|
|
1699
|
+
url: "/v1/crm/overrides",
|
|
1700
|
+
...options
|
|
1701
|
+
});
|
|
1702
|
+
}
|
|
1703
|
+
/**
|
|
1704
|
+
* Set a single override field on a record
|
|
1705
|
+
*/
|
|
1706
|
+
static setCrmOverride(options) {
|
|
1707
|
+
return (options?.client ?? client).patch({
|
|
1708
|
+
security: [{
|
|
1709
|
+
name: "x-api-key",
|
|
1710
|
+
type: "apiKey"
|
|
1711
|
+
}, {
|
|
1712
|
+
scheme: "bearer",
|
|
1713
|
+
type: "http"
|
|
1714
|
+
}],
|
|
1715
|
+
url: "/v1/crm/overrides",
|
|
1716
|
+
...options,
|
|
1717
|
+
headers: {
|
|
1718
|
+
"Content-Type": "application/json",
|
|
1719
|
+
...options?.headers
|
|
1720
|
+
}
|
|
1721
|
+
});
|
|
1722
|
+
}
|
|
1723
|
+
/**
|
|
1724
|
+
* Auto-generate a record's description from the web
|
|
1725
|
+
*/
|
|
1726
|
+
static generateCrmRecordDescription(options) {
|
|
1727
|
+
return (options?.client ?? client).post({
|
|
1728
|
+
security: [{
|
|
1729
|
+
name: "x-api-key",
|
|
1730
|
+
type: "apiKey"
|
|
1731
|
+
}, {
|
|
1732
|
+
scheme: "bearer",
|
|
1733
|
+
type: "http"
|
|
1734
|
+
}],
|
|
1735
|
+
url: "/v1/crm/records/generate-description",
|
|
1736
|
+
...options,
|
|
1737
|
+
headers: {
|
|
1738
|
+
"Content-Type": "application/json",
|
|
1739
|
+
...options?.headers
|
|
1740
|
+
}
|
|
1741
|
+
});
|
|
1742
|
+
}
|
|
1743
|
+
/**
|
|
1744
|
+
* List the caller's lists (picker mode with ?entityId adds hasMember)
|
|
1745
|
+
*/
|
|
1746
|
+
static listCrmLists(options) {
|
|
1747
|
+
return (options?.client ?? client).get({
|
|
1748
|
+
security: [{
|
|
1749
|
+
name: "x-api-key",
|
|
1750
|
+
type: "apiKey"
|
|
1751
|
+
}, {
|
|
1752
|
+
scheme: "bearer",
|
|
1753
|
+
type: "http"
|
|
1754
|
+
}],
|
|
1755
|
+
url: "/v1/crm/lists",
|
|
1756
|
+
...options
|
|
1757
|
+
});
|
|
1758
|
+
}
|
|
1759
|
+
/**
|
|
1760
|
+
* Create a list
|
|
1761
|
+
*/
|
|
1762
|
+
static createCrmList(options) {
|
|
1763
|
+
return (options?.client ?? client).post({
|
|
1764
|
+
security: [{
|
|
1765
|
+
name: "x-api-key",
|
|
1766
|
+
type: "apiKey"
|
|
1767
|
+
}, {
|
|
1768
|
+
scheme: "bearer",
|
|
1769
|
+
type: "http"
|
|
1770
|
+
}],
|
|
1771
|
+
url: "/v1/crm/lists",
|
|
1772
|
+
...options,
|
|
1773
|
+
headers: {
|
|
1774
|
+
"Content-Type": "application/json",
|
|
1775
|
+
...options?.headers
|
|
1776
|
+
}
|
|
1777
|
+
});
|
|
1778
|
+
}
|
|
1779
|
+
/**
|
|
1780
|
+
* Delete a list
|
|
1781
|
+
*/
|
|
1782
|
+
static deleteCrmList(options) {
|
|
1783
|
+
return (options.client ?? client).delete({
|
|
1784
|
+
security: [{
|
|
1785
|
+
name: "x-api-key",
|
|
1786
|
+
type: "apiKey"
|
|
1787
|
+
}, {
|
|
1788
|
+
scheme: "bearer",
|
|
1789
|
+
type: "http"
|
|
1790
|
+
}],
|
|
1791
|
+
url: "/v1/crm/lists/{id}",
|
|
1792
|
+
...options
|
|
1793
|
+
});
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* Get a list with its members
|
|
1797
|
+
*/
|
|
1798
|
+
static getCrmList(options) {
|
|
1799
|
+
return (options.client ?? client).get({
|
|
1800
|
+
security: [{
|
|
1801
|
+
name: "x-api-key",
|
|
1802
|
+
type: "apiKey"
|
|
1803
|
+
}, {
|
|
1804
|
+
scheme: "bearer",
|
|
1805
|
+
type: "http"
|
|
1806
|
+
}],
|
|
1807
|
+
url: "/v1/crm/lists/{id}",
|
|
1808
|
+
...options
|
|
1809
|
+
});
|
|
1810
|
+
}
|
|
1811
|
+
/**
|
|
1812
|
+
* Update a list's name, visibility, or whole-org role
|
|
1813
|
+
*/
|
|
1814
|
+
static updateCrmList(options) {
|
|
1815
|
+
return (options.client ?? client).patch({
|
|
1816
|
+
security: [{
|
|
1817
|
+
name: "x-api-key",
|
|
1818
|
+
type: "apiKey"
|
|
1819
|
+
}, {
|
|
1820
|
+
scheme: "bearer",
|
|
1821
|
+
type: "http"
|
|
1822
|
+
}],
|
|
1823
|
+
url: "/v1/crm/lists/{id}",
|
|
1824
|
+
...options,
|
|
1825
|
+
headers: {
|
|
1826
|
+
"Content-Type": "application/json",
|
|
1827
|
+
...options?.headers
|
|
1828
|
+
}
|
|
1829
|
+
});
|
|
1830
|
+
}
|
|
1831
|
+
/**
|
|
1832
|
+
* Remove a member from a list
|
|
1833
|
+
*/
|
|
1834
|
+
static removeCrmListMember(options) {
|
|
1835
|
+
return (options.client ?? client).delete({
|
|
1836
|
+
security: [{
|
|
1837
|
+
name: "x-api-key",
|
|
1838
|
+
type: "apiKey"
|
|
1839
|
+
}, {
|
|
1840
|
+
scheme: "bearer",
|
|
1841
|
+
type: "http"
|
|
1842
|
+
}],
|
|
1843
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1844
|
+
...options,
|
|
1845
|
+
headers: {
|
|
1846
|
+
"Content-Type": "application/json",
|
|
1847
|
+
...options?.headers
|
|
1848
|
+
}
|
|
1849
|
+
});
|
|
1850
|
+
}
|
|
1851
|
+
/**
|
|
1852
|
+
* Add a member to a list
|
|
1853
|
+
*/
|
|
1854
|
+
static addCrmListMember(options) {
|
|
1855
|
+
return (options.client ?? client).post({
|
|
1856
|
+
security: [{
|
|
1857
|
+
name: "x-api-key",
|
|
1858
|
+
type: "apiKey"
|
|
1859
|
+
}, {
|
|
1860
|
+
scheme: "bearer",
|
|
1861
|
+
type: "http"
|
|
1862
|
+
}],
|
|
1863
|
+
url: "/v1/crm/lists/{id}/members",
|
|
1864
|
+
...options,
|
|
1865
|
+
headers: {
|
|
1866
|
+
"Content-Type": "application/json",
|
|
1867
|
+
...options?.headers
|
|
1868
|
+
}
|
|
1869
|
+
});
|
|
1870
|
+
}
|
|
1871
|
+
/**
|
|
1872
|
+
* Filter a list's members by entity attributes (read)
|
|
1873
|
+
*/
|
|
1874
|
+
static filterCrmListMembers(options) {
|
|
1875
|
+
return (options.client ?? client).post({
|
|
1876
|
+
security: [{
|
|
1877
|
+
name: "x-api-key",
|
|
1878
|
+
type: "apiKey"
|
|
1879
|
+
}, {
|
|
1880
|
+
scheme: "bearer",
|
|
1881
|
+
type: "http"
|
|
1882
|
+
}],
|
|
1883
|
+
url: "/v1/crm/lists/{id}/filter-members",
|
|
1884
|
+
...options,
|
|
1885
|
+
headers: {
|
|
1886
|
+
"Content-Type": "application/json",
|
|
1887
|
+
...options?.headers
|
|
1888
|
+
}
|
|
1889
|
+
});
|
|
1890
|
+
}
|
|
1891
|
+
/**
|
|
1892
|
+
* Add many members to a list
|
|
1893
|
+
*/
|
|
1894
|
+
static addCrmListMembersBulk(options) {
|
|
1895
|
+
return (options.client ?? client).post({
|
|
1896
|
+
security: [{
|
|
1897
|
+
name: "x-api-key",
|
|
1898
|
+
type: "apiKey"
|
|
1899
|
+
}, {
|
|
1900
|
+
scheme: "bearer",
|
|
1901
|
+
type: "http"
|
|
1902
|
+
}],
|
|
1903
|
+
url: "/v1/crm/lists/{id}/members/bulk",
|
|
1904
|
+
...options,
|
|
1905
|
+
headers: {
|
|
1906
|
+
"Content-Type": "application/json",
|
|
1907
|
+
...options?.headers
|
|
1908
|
+
}
|
|
1909
|
+
});
|
|
1910
|
+
}
|
|
1911
|
+
/**
|
|
1912
|
+
* Revoke a member's access to a list
|
|
1913
|
+
*/
|
|
1914
|
+
static revokeCrmListAccess(options) {
|
|
1915
|
+
return (options.client ?? client).delete({
|
|
1916
|
+
security: [{
|
|
1917
|
+
name: "x-api-key",
|
|
1918
|
+
type: "apiKey"
|
|
1919
|
+
}, {
|
|
1920
|
+
scheme: "bearer",
|
|
1921
|
+
type: "http"
|
|
1922
|
+
}],
|
|
1923
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1924
|
+
...options,
|
|
1925
|
+
headers: {
|
|
1926
|
+
"Content-Type": "application/json",
|
|
1927
|
+
...options?.headers
|
|
1928
|
+
}
|
|
1929
|
+
});
|
|
1930
|
+
}
|
|
1931
|
+
/**
|
|
1932
|
+
* Get a list's sharing state (+ owner display, canManageSharing)
|
|
1933
|
+
*/
|
|
1934
|
+
static getCrmListShares(options) {
|
|
1935
|
+
return (options.client ?? client).get({
|
|
1936
|
+
security: [{
|
|
1937
|
+
name: "x-api-key",
|
|
1938
|
+
type: "apiKey"
|
|
1939
|
+
}, {
|
|
1940
|
+
scheme: "bearer",
|
|
1941
|
+
type: "http"
|
|
1942
|
+
}],
|
|
1943
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1944
|
+
...options
|
|
1945
|
+
});
|
|
1946
|
+
}
|
|
1947
|
+
/**
|
|
1948
|
+
* Transfer a list's ownership to another member
|
|
1949
|
+
*/
|
|
1950
|
+
static transferCrmListOwnership(options) {
|
|
1951
|
+
return (options.client ?? client).patch({
|
|
1952
|
+
security: [{
|
|
1953
|
+
name: "x-api-key",
|
|
1954
|
+
type: "apiKey"
|
|
1955
|
+
}, {
|
|
1956
|
+
scheme: "bearer",
|
|
1957
|
+
type: "http"
|
|
1958
|
+
}],
|
|
1959
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1960
|
+
...options,
|
|
1961
|
+
headers: {
|
|
1962
|
+
"Content-Type": "application/json",
|
|
1963
|
+
...options?.headers
|
|
1964
|
+
}
|
|
1965
|
+
});
|
|
1966
|
+
}
|
|
1967
|
+
/**
|
|
1968
|
+
* Grant a member access to a list
|
|
1969
|
+
*/
|
|
1970
|
+
static grantCrmListAccess(options) {
|
|
1971
|
+
return (options.client ?? client).post({
|
|
1972
|
+
security: [{
|
|
1973
|
+
name: "x-api-key",
|
|
1974
|
+
type: "apiKey"
|
|
1975
|
+
}, {
|
|
1976
|
+
scheme: "bearer",
|
|
1977
|
+
type: "http"
|
|
1978
|
+
}],
|
|
1979
|
+
url: "/v1/crm/lists/{id}/shares",
|
|
1980
|
+
...options,
|
|
1981
|
+
headers: {
|
|
1982
|
+
"Content-Type": "application/json",
|
|
1983
|
+
...options?.headers
|
|
1984
|
+
}
|
|
1985
|
+
});
|
|
1986
|
+
}
|
|
1987
|
+
/**
|
|
1988
|
+
* Delete a custom field
|
|
1989
|
+
*/
|
|
1990
|
+
static deleteCrmListField(options) {
|
|
1991
|
+
return (options.client ?? client).delete({
|
|
1992
|
+
security: [{
|
|
1993
|
+
name: "x-api-key",
|
|
1994
|
+
type: "apiKey"
|
|
1995
|
+
}, {
|
|
1996
|
+
scheme: "bearer",
|
|
1997
|
+
type: "http"
|
|
1998
|
+
}],
|
|
1999
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
2000
|
+
...options,
|
|
2001
|
+
headers: {
|
|
2002
|
+
"Content-Type": "application/json",
|
|
2003
|
+
...options?.headers
|
|
2004
|
+
}
|
|
2005
|
+
});
|
|
2006
|
+
}
|
|
2007
|
+
/**
|
|
2008
|
+
* List the custom fields applicable to a list
|
|
2009
|
+
*/
|
|
2010
|
+
static listCrmListFields(options) {
|
|
2011
|
+
return (options.client ?? client).get({
|
|
2012
|
+
security: [{
|
|
2013
|
+
name: "x-api-key",
|
|
2014
|
+
type: "apiKey"
|
|
2015
|
+
}, {
|
|
2016
|
+
scheme: "bearer",
|
|
2017
|
+
type: "http"
|
|
2018
|
+
}],
|
|
2019
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
2020
|
+
...options
|
|
2021
|
+
});
|
|
2022
|
+
}
|
|
2023
|
+
/**
|
|
2024
|
+
* Update a custom field's mutable props
|
|
2025
|
+
*/
|
|
2026
|
+
static updateCrmListField(options) {
|
|
2027
|
+
return (options.client ?? client).patch({
|
|
2028
|
+
security: [{
|
|
2029
|
+
name: "x-api-key",
|
|
2030
|
+
type: "apiKey"
|
|
2031
|
+
}, {
|
|
2032
|
+
scheme: "bearer",
|
|
2033
|
+
type: "http"
|
|
2034
|
+
}],
|
|
2035
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
2036
|
+
...options,
|
|
2037
|
+
headers: {
|
|
2038
|
+
"Content-Type": "application/json",
|
|
2039
|
+
...options?.headers
|
|
2040
|
+
}
|
|
2041
|
+
});
|
|
2042
|
+
}
|
|
2043
|
+
/**
|
|
2044
|
+
* Create a list-scoped custom field
|
|
2045
|
+
*/
|
|
2046
|
+
static createCrmListField(options) {
|
|
2047
|
+
return (options.client ?? client).post({
|
|
2048
|
+
security: [{
|
|
2049
|
+
name: "x-api-key",
|
|
2050
|
+
type: "apiKey"
|
|
2051
|
+
}, {
|
|
2052
|
+
scheme: "bearer",
|
|
2053
|
+
type: "http"
|
|
2054
|
+
}],
|
|
2055
|
+
url: "/v1/crm/lists/{id}/fields",
|
|
2056
|
+
...options,
|
|
2057
|
+
headers: {
|
|
2058
|
+
"Content-Type": "application/json",
|
|
2059
|
+
...options?.headers
|
|
2060
|
+
}
|
|
2061
|
+
});
|
|
2062
|
+
}
|
|
2063
|
+
/**
|
|
2064
|
+
* Replay a template's fields onto a list
|
|
2065
|
+
*/
|
|
2066
|
+
static applyCrmListTemplate(options) {
|
|
2067
|
+
return (options.client ?? client).post({
|
|
2068
|
+
security: [{
|
|
2069
|
+
name: "x-api-key",
|
|
2070
|
+
type: "apiKey"
|
|
2071
|
+
}, {
|
|
2072
|
+
scheme: "bearer",
|
|
2073
|
+
type: "http"
|
|
2074
|
+
}],
|
|
2075
|
+
url: "/v1/crm/lists/{id}/apply-template",
|
|
2076
|
+
...options,
|
|
2077
|
+
headers: {
|
|
2078
|
+
"Content-Type": "application/json",
|
|
2079
|
+
...options?.headers
|
|
2080
|
+
}
|
|
2081
|
+
});
|
|
2082
|
+
}
|
|
2083
|
+
/**
|
|
2084
|
+
* List the active org's members
|
|
2085
|
+
*/
|
|
2086
|
+
static listCrmOrgMembers(options) {
|
|
2087
|
+
return (options?.client ?? client).get({
|
|
2088
|
+
security: [{
|
|
2089
|
+
name: "x-api-key",
|
|
2090
|
+
type: "apiKey"
|
|
2091
|
+
}, {
|
|
2092
|
+
scheme: "bearer",
|
|
2093
|
+
type: "http"
|
|
2094
|
+
}],
|
|
2095
|
+
url: "/v1/crm/org-members",
|
|
2096
|
+
...options
|
|
2097
|
+
});
|
|
2098
|
+
}
|
|
2099
|
+
/**
|
|
2100
|
+
* List who can be assigned on a list (access-filtered by visibility)
|
|
2101
|
+
*/
|
|
2102
|
+
static listCrmListAssignees(options) {
|
|
2103
|
+
return (options.client ?? client).get({
|
|
2104
|
+
security: [{
|
|
2105
|
+
name: "x-api-key",
|
|
2106
|
+
type: "apiKey"
|
|
2107
|
+
}, {
|
|
2108
|
+
scheme: "bearer",
|
|
2109
|
+
type: "http"
|
|
2110
|
+
}],
|
|
2111
|
+
url: "/v1/crm/lists/{id}/assignees",
|
|
2112
|
+
...options
|
|
2113
|
+
});
|
|
2114
|
+
}
|
|
2115
|
+
/**
|
|
2116
|
+
* Soft-delete a note
|
|
2117
|
+
*/
|
|
2118
|
+
static deleteCrmNote(options) {
|
|
2119
|
+
return (options?.client ?? client).delete({
|
|
2120
|
+
security: [{
|
|
2121
|
+
name: "x-api-key",
|
|
2122
|
+
type: "apiKey"
|
|
2123
|
+
}, {
|
|
2124
|
+
scheme: "bearer",
|
|
2125
|
+
type: "http"
|
|
2126
|
+
}],
|
|
2127
|
+
url: "/v1/crm/activity",
|
|
2128
|
+
...options,
|
|
2129
|
+
headers: {
|
|
2130
|
+
"Content-Type": "application/json",
|
|
2131
|
+
...options?.headers
|
|
2132
|
+
}
|
|
2133
|
+
});
|
|
2134
|
+
}
|
|
2135
|
+
/**
|
|
2136
|
+
* List a record's activity timeline (newest first)
|
|
2137
|
+
*/
|
|
2138
|
+
static listCrmActivity(options) {
|
|
2139
|
+
return (options.client ?? client).get({
|
|
2140
|
+
security: [{
|
|
2141
|
+
name: "x-api-key",
|
|
2142
|
+
type: "apiKey"
|
|
2143
|
+
}, {
|
|
2144
|
+
scheme: "bearer",
|
|
2145
|
+
type: "http"
|
|
2146
|
+
}],
|
|
2147
|
+
url: "/v1/crm/activity",
|
|
2148
|
+
...options
|
|
2149
|
+
});
|
|
2150
|
+
}
|
|
2151
|
+
/**
|
|
2152
|
+
* Edit a note's body
|
|
2153
|
+
*/
|
|
2154
|
+
static editCrmNote(options) {
|
|
2155
|
+
return (options?.client ?? client).patch({
|
|
2156
|
+
security: [{
|
|
2157
|
+
name: "x-api-key",
|
|
2158
|
+
type: "apiKey"
|
|
2159
|
+
}, {
|
|
2160
|
+
scheme: "bearer",
|
|
2161
|
+
type: "http"
|
|
2162
|
+
}],
|
|
2163
|
+
url: "/v1/crm/activity",
|
|
2164
|
+
...options,
|
|
2165
|
+
headers: {
|
|
2166
|
+
"Content-Type": "application/json",
|
|
2167
|
+
...options?.headers
|
|
2168
|
+
}
|
|
2169
|
+
});
|
|
2170
|
+
}
|
|
2171
|
+
/**
|
|
2172
|
+
* Append a note to a record's timeline
|
|
2173
|
+
*/
|
|
2174
|
+
static addCrmNote(options) {
|
|
2175
|
+
return (options?.client ?? client).post({
|
|
2176
|
+
security: [{
|
|
2177
|
+
name: "x-api-key",
|
|
2178
|
+
type: "apiKey"
|
|
2179
|
+
}, {
|
|
2180
|
+
scheme: "bearer",
|
|
2181
|
+
type: "http"
|
|
2182
|
+
}],
|
|
2183
|
+
url: "/v1/crm/activity",
|
|
2184
|
+
...options,
|
|
2185
|
+
headers: {
|
|
2186
|
+
"Content-Type": "application/json",
|
|
2187
|
+
...options?.headers
|
|
2188
|
+
}
|
|
2189
|
+
});
|
|
2190
|
+
}
|
|
2191
|
+
/**
|
|
2192
|
+
* Delete a task
|
|
2193
|
+
*/
|
|
2194
|
+
static deleteCrmTask(options) {
|
|
2195
|
+
return (options?.client ?? client).delete({
|
|
2196
|
+
security: [{
|
|
2197
|
+
name: "x-api-key",
|
|
2198
|
+
type: "apiKey"
|
|
2199
|
+
}, {
|
|
2200
|
+
scheme: "bearer",
|
|
2201
|
+
type: "http"
|
|
2202
|
+
}],
|
|
2203
|
+
url: "/v1/crm/tasks",
|
|
2204
|
+
...options,
|
|
2205
|
+
headers: {
|
|
2206
|
+
"Content-Type": "application/json",
|
|
2207
|
+
...options?.headers
|
|
2208
|
+
}
|
|
2209
|
+
});
|
|
2210
|
+
}
|
|
2211
|
+
/**
|
|
2212
|
+
* List tasks for a record or for an assignee
|
|
2213
|
+
*/
|
|
2214
|
+
static listCrmTasks(options) {
|
|
2215
|
+
return (options?.client ?? client).get({
|
|
2216
|
+
security: [{
|
|
2217
|
+
name: "x-api-key",
|
|
2218
|
+
type: "apiKey"
|
|
2219
|
+
}, {
|
|
2220
|
+
scheme: "bearer",
|
|
2221
|
+
type: "http"
|
|
2222
|
+
}],
|
|
2223
|
+
url: "/v1/crm/tasks",
|
|
2224
|
+
...options
|
|
2225
|
+
});
|
|
2226
|
+
}
|
|
2227
|
+
/**
|
|
2228
|
+
* Edit a task, or transition it to completed/cancelled
|
|
2229
|
+
*/
|
|
2230
|
+
static updateCrmTask(options) {
|
|
2231
|
+
return (options?.client ?? client).patch({
|
|
2232
|
+
security: [{
|
|
2233
|
+
name: "x-api-key",
|
|
2234
|
+
type: "apiKey"
|
|
2235
|
+
}, {
|
|
2236
|
+
scheme: "bearer",
|
|
2237
|
+
type: "http"
|
|
2238
|
+
}],
|
|
2239
|
+
url: "/v1/crm/tasks",
|
|
2240
|
+
...options,
|
|
2241
|
+
headers: {
|
|
2242
|
+
"Content-Type": "application/json",
|
|
2243
|
+
...options?.headers
|
|
2244
|
+
}
|
|
2245
|
+
});
|
|
2246
|
+
}
|
|
2247
|
+
/**
|
|
2248
|
+
* Create a task on a record
|
|
2249
|
+
*/
|
|
2250
|
+
static createCrmTask(options) {
|
|
2251
|
+
return (options?.client ?? client).post({
|
|
2252
|
+
security: [{
|
|
2253
|
+
name: "x-api-key",
|
|
2254
|
+
type: "apiKey"
|
|
2255
|
+
}, {
|
|
2256
|
+
scheme: "bearer",
|
|
2257
|
+
type: "http"
|
|
2258
|
+
}],
|
|
2259
|
+
url: "/v1/crm/tasks",
|
|
2260
|
+
...options,
|
|
2261
|
+
headers: {
|
|
2262
|
+
"Content-Type": "application/json",
|
|
2263
|
+
...options?.headers
|
|
2264
|
+
}
|
|
2265
|
+
});
|
|
2266
|
+
}
|
|
2267
|
+
/**
|
|
2268
|
+
* Cross-record task inbox for the caller's visible records
|
|
2269
|
+
*/
|
|
2270
|
+
static listCrmWorkspaceTasks(options) {
|
|
2271
|
+
return (options?.client ?? client).get({
|
|
2272
|
+
security: [{
|
|
2273
|
+
name: "x-api-key",
|
|
2274
|
+
type: "apiKey"
|
|
2275
|
+
}, {
|
|
2276
|
+
scheme: "bearer",
|
|
2277
|
+
type: "http"
|
|
2278
|
+
}],
|
|
2279
|
+
url: "/v1/crm/tasks/workspace",
|
|
2280
|
+
...options
|
|
2281
|
+
});
|
|
2282
|
+
}
|
|
2283
|
+
/**
|
|
2284
|
+
* Pull calendar changes and apply them (one record, or user-wide)
|
|
2285
|
+
*/
|
|
2286
|
+
static reconcileCrmMeetings(options) {
|
|
2287
|
+
return (options?.client ?? client).post({
|
|
2288
|
+
security: [{
|
|
2289
|
+
name: "x-api-key",
|
|
2290
|
+
type: "apiKey"
|
|
2291
|
+
}, {
|
|
2292
|
+
scheme: "bearer",
|
|
2293
|
+
type: "http"
|
|
2294
|
+
}],
|
|
2295
|
+
url: "/v1/crm/meetings/reconcile",
|
|
2296
|
+
...options,
|
|
2297
|
+
headers: {
|
|
2298
|
+
"Content-Type": "application/json",
|
|
2299
|
+
...options?.headers
|
|
2300
|
+
}
|
|
2301
|
+
});
|
|
2302
|
+
}
|
|
2303
|
+
/**
|
|
2304
|
+
* Delete a meeting (and its provider event)
|
|
2305
|
+
*/
|
|
2306
|
+
static deleteCrmMeeting(options) {
|
|
2307
|
+
return (options.client ?? client).delete({
|
|
2308
|
+
security: [{
|
|
2309
|
+
name: "x-api-key",
|
|
2310
|
+
type: "apiKey"
|
|
2311
|
+
}, {
|
|
2312
|
+
scheme: "bearer",
|
|
2313
|
+
type: "http"
|
|
2314
|
+
}],
|
|
2315
|
+
url: "/v1/crm/meetings",
|
|
2316
|
+
...options
|
|
2317
|
+
});
|
|
2318
|
+
}
|
|
2319
|
+
/**
|
|
2320
|
+
* List meetings for a record
|
|
2321
|
+
*/
|
|
2322
|
+
static listCrmMeetings(options) {
|
|
2323
|
+
return (options.client ?? client).get({
|
|
2324
|
+
security: [{
|
|
2325
|
+
name: "x-api-key",
|
|
2326
|
+
type: "apiKey"
|
|
2327
|
+
}, {
|
|
2328
|
+
scheme: "bearer",
|
|
2329
|
+
type: "http"
|
|
2330
|
+
}],
|
|
2331
|
+
url: "/v1/crm/meetings",
|
|
2332
|
+
...options
|
|
2333
|
+
});
|
|
2334
|
+
}
|
|
2335
|
+
/**
|
|
2336
|
+
* Update, cancel, complete, or re-sync a meeting
|
|
2337
|
+
*/
|
|
2338
|
+
static updateCrmMeeting(options) {
|
|
2339
|
+
return (options?.client ?? client).patch({
|
|
2340
|
+
security: [{
|
|
2341
|
+
name: "x-api-key",
|
|
2342
|
+
type: "apiKey"
|
|
2343
|
+
}, {
|
|
2344
|
+
scheme: "bearer",
|
|
2345
|
+
type: "http"
|
|
2346
|
+
}],
|
|
2347
|
+
url: "/v1/crm/meetings",
|
|
2348
|
+
...options,
|
|
2349
|
+
headers: {
|
|
2350
|
+
"Content-Type": "application/json",
|
|
2351
|
+
...options?.headers
|
|
2352
|
+
}
|
|
2353
|
+
});
|
|
2354
|
+
}
|
|
2355
|
+
/**
|
|
2356
|
+
* Create a meeting (optionally syncing it to a calendar provider)
|
|
2357
|
+
*/
|
|
2358
|
+
static createCrmMeeting(options) {
|
|
2359
|
+
return (options?.client ?? client).post({
|
|
2360
|
+
security: [{
|
|
2361
|
+
name: "x-api-key",
|
|
2362
|
+
type: "apiKey"
|
|
2363
|
+
}, {
|
|
2364
|
+
scheme: "bearer",
|
|
2365
|
+
type: "http"
|
|
2366
|
+
}],
|
|
2367
|
+
url: "/v1/crm/meetings",
|
|
2368
|
+
...options,
|
|
2369
|
+
headers: {
|
|
2370
|
+
"Content-Type": "application/json",
|
|
2371
|
+
...options?.headers
|
|
2372
|
+
}
|
|
2373
|
+
});
|
|
2374
|
+
}
|
|
2375
|
+
/**
|
|
2376
|
+
* Apply the Market-Insights updates the user accepted
|
|
2377
|
+
*/
|
|
2378
|
+
static applyCrmMiUpdates(options) {
|
|
2379
|
+
return (options?.client ?? client).post({
|
|
2380
|
+
security: [{
|
|
2381
|
+
name: "x-api-key",
|
|
2382
|
+
type: "apiKey"
|
|
2383
|
+
}, {
|
|
2384
|
+
scheme: "bearer",
|
|
2385
|
+
type: "http"
|
|
2386
|
+
}],
|
|
2387
|
+
url: "/v1/crm/records/apply-mi-updates",
|
|
2388
|
+
...options,
|
|
2389
|
+
headers: {
|
|
2390
|
+
"Content-Type": "application/json",
|
|
2391
|
+
...options?.headers
|
|
2392
|
+
}
|
|
2393
|
+
});
|
|
2394
|
+
}
|
|
2395
|
+
/**
|
|
2396
|
+
* Dismiss surfaced MI updates (remember them in the seen-ledger)
|
|
2397
|
+
*/
|
|
2398
|
+
static dismissCrmMiUpdates(options) {
|
|
2399
|
+
return (options?.client ?? client).post({
|
|
2400
|
+
security: [{
|
|
2401
|
+
name: "x-api-key",
|
|
2402
|
+
type: "apiKey"
|
|
2403
|
+
}, {
|
|
2404
|
+
scheme: "bearer",
|
|
2405
|
+
type: "http"
|
|
2406
|
+
}],
|
|
2407
|
+
url: "/v1/crm/records/dismiss-mi-updates",
|
|
2408
|
+
...options,
|
|
2409
|
+
headers: {
|
|
2410
|
+
"Content-Type": "application/json",
|
|
2411
|
+
...options?.headers
|
|
2412
|
+
}
|
|
2413
|
+
});
|
|
2414
|
+
}
|
|
2415
|
+
/**
|
|
2416
|
+
* Compute which Market-Insights fields differ from a record snapshot
|
|
2417
|
+
*/
|
|
2418
|
+
static getCrmMiUpdates(options) {
|
|
2419
|
+
return (options?.client ?? client).post({
|
|
2420
|
+
security: [{
|
|
2421
|
+
name: "x-api-key",
|
|
2422
|
+
type: "apiKey"
|
|
2423
|
+
}, {
|
|
2424
|
+
scheme: "bearer",
|
|
2425
|
+
type: "http"
|
|
2426
|
+
}],
|
|
2427
|
+
url: "/v1/crm/records/mi-updates",
|
|
2428
|
+
...options,
|
|
2429
|
+
headers: {
|
|
2430
|
+
"Content-Type": "application/json",
|
|
2431
|
+
...options?.headers
|
|
2432
|
+
}
|
|
2433
|
+
});
|
|
2434
|
+
}
|
|
2435
|
+
/**
|
|
2436
|
+
* Ask the org owner(s) to enable the CRM (membership-gated)
|
|
2437
|
+
*/
|
|
2438
|
+
static requestCrmAccess(options) {
|
|
2439
|
+
return (options?.client ?? client).post({
|
|
2440
|
+
security: [{
|
|
2441
|
+
name: "x-api-key",
|
|
2442
|
+
type: "apiKey"
|
|
2443
|
+
}, {
|
|
2444
|
+
scheme: "bearer",
|
|
2445
|
+
type: "http"
|
|
2446
|
+
}],
|
|
2447
|
+
url: "/v1/crm/request-access",
|
|
2448
|
+
...options,
|
|
2449
|
+
headers: {
|
|
2450
|
+
"Content-Type": "application/json",
|
|
2451
|
+
...options?.headers
|
|
2452
|
+
}
|
|
2453
|
+
});
|
|
2454
|
+
}
|
|
2455
|
+
/**
|
|
2456
|
+
* Remove a user-added contact method
|
|
2457
|
+
*/
|
|
2458
|
+
static removeCrmContactMethod(options) {
|
|
2459
|
+
return (options?.client ?? client).delete({
|
|
2460
|
+
security: [{
|
|
2461
|
+
name: "x-api-key",
|
|
2462
|
+
type: "apiKey"
|
|
2463
|
+
}, {
|
|
2464
|
+
scheme: "bearer",
|
|
2465
|
+
type: "http"
|
|
2466
|
+
}],
|
|
2467
|
+
url: "/v1/crm/contacts",
|
|
2468
|
+
...options,
|
|
2469
|
+
headers: {
|
|
2470
|
+
"Content-Type": "application/json",
|
|
2471
|
+
...options?.headers
|
|
2472
|
+
}
|
|
2473
|
+
});
|
|
2474
|
+
}
|
|
2475
|
+
/**
|
|
2476
|
+
* Update or suppress a contact method
|
|
2477
|
+
*/
|
|
2478
|
+
static updateCrmContactMethod(options) {
|
|
2479
|
+
return (options?.client ?? client).patch({
|
|
2480
|
+
security: [{
|
|
2481
|
+
name: "x-api-key",
|
|
2482
|
+
type: "apiKey"
|
|
2483
|
+
}, {
|
|
2484
|
+
scheme: "bearer",
|
|
2485
|
+
type: "http"
|
|
2486
|
+
}],
|
|
2487
|
+
url: "/v1/crm/contacts",
|
|
2488
|
+
...options,
|
|
2489
|
+
headers: {
|
|
2490
|
+
"Content-Type": "application/json",
|
|
2491
|
+
...options?.headers
|
|
2492
|
+
}
|
|
2493
|
+
});
|
|
2494
|
+
}
|
|
2495
|
+
/**
|
|
2496
|
+
* Add a contact method to a record
|
|
2497
|
+
*/
|
|
2498
|
+
static addCrmContactMethod(options) {
|
|
2499
|
+
return (options?.client ?? client).post({
|
|
2500
|
+
security: [{
|
|
2501
|
+
name: "x-api-key",
|
|
2502
|
+
type: "apiKey"
|
|
2503
|
+
}, {
|
|
2504
|
+
scheme: "bearer",
|
|
2505
|
+
type: "http"
|
|
2506
|
+
}],
|
|
2507
|
+
url: "/v1/crm/contacts",
|
|
2508
|
+
...options,
|
|
2509
|
+
headers: {
|
|
2510
|
+
"Content-Type": "application/json",
|
|
2511
|
+
...options?.headers
|
|
2512
|
+
}
|
|
2513
|
+
});
|
|
2514
|
+
}
|
|
2515
|
+
/**
|
|
2516
|
+
* List custom fields applicable to a view
|
|
2517
|
+
*/
|
|
2518
|
+
static listCrmCustomFields(options) {
|
|
2519
|
+
return (options.client ?? client).get({
|
|
2520
|
+
security: [{
|
|
2521
|
+
name: "x-api-key",
|
|
2522
|
+
type: "apiKey"
|
|
2523
|
+
}, {
|
|
2524
|
+
scheme: "bearer",
|
|
2525
|
+
type: "http"
|
|
2526
|
+
}],
|
|
2527
|
+
url: "/v1/crm/fields",
|
|
2528
|
+
...options
|
|
2529
|
+
});
|
|
2530
|
+
}
|
|
2531
|
+
/**
|
|
2532
|
+
* Get custom-field values for one or many records
|
|
2533
|
+
*/
|
|
2534
|
+
static getCrmCustomValues(options) {
|
|
2535
|
+
return (options?.client ?? client).get({
|
|
2536
|
+
security: [{
|
|
2537
|
+
name: "x-api-key",
|
|
2538
|
+
type: "apiKey"
|
|
2539
|
+
}, {
|
|
2540
|
+
scheme: "bearer",
|
|
2541
|
+
type: "http"
|
|
2542
|
+
}],
|
|
2543
|
+
url: "/v1/crm/custom-values",
|
|
2544
|
+
...options
|
|
2545
|
+
});
|
|
2546
|
+
}
|
|
2547
|
+
/**
|
|
2548
|
+
* Set a record's value for one custom field
|
|
2549
|
+
*/
|
|
2550
|
+
static setCrmCustomValue(options) {
|
|
2551
|
+
return (options?.client ?? client).patch({
|
|
2552
|
+
security: [{
|
|
2553
|
+
name: "x-api-key",
|
|
2554
|
+
type: "apiKey"
|
|
2555
|
+
}, {
|
|
2556
|
+
scheme: "bearer",
|
|
2557
|
+
type: "http"
|
|
2558
|
+
}],
|
|
2559
|
+
url: "/v1/crm/custom-values",
|
|
2560
|
+
...options,
|
|
2561
|
+
headers: {
|
|
2562
|
+
"Content-Type": "application/json",
|
|
2563
|
+
...options?.headers
|
|
2564
|
+
}
|
|
2565
|
+
});
|
|
2566
|
+
}
|
|
2567
|
+
/**
|
|
2568
|
+
* Send an outbound email via the user's connected Gmail or Outlook
|
|
2569
|
+
*/
|
|
2570
|
+
static sendCrmEmail(options) {
|
|
2571
|
+
return (options?.client ?? client).post({
|
|
2572
|
+
security: [{
|
|
2573
|
+
name: "x-api-key",
|
|
2574
|
+
type: "apiKey"
|
|
2575
|
+
}, {
|
|
2576
|
+
scheme: "bearer",
|
|
2577
|
+
type: "http"
|
|
2578
|
+
}],
|
|
2579
|
+
url: "/v1/crm/email/send",
|
|
2580
|
+
...options,
|
|
2581
|
+
headers: {
|
|
2582
|
+
"Content-Type": "application/json",
|
|
2583
|
+
...options?.headers
|
|
2584
|
+
}
|
|
2585
|
+
});
|
|
2586
|
+
}
|
|
2587
|
+
/**
|
|
2588
|
+
* List attribute templates the caller can load
|
|
2589
|
+
*/
|
|
2590
|
+
static listCrmTemplates(options) {
|
|
2591
|
+
return (options?.client ?? client).get({
|
|
2592
|
+
security: [{
|
|
2593
|
+
name: "x-api-key",
|
|
2594
|
+
type: "apiKey"
|
|
2595
|
+
}, {
|
|
2596
|
+
scheme: "bearer",
|
|
2597
|
+
type: "http"
|
|
2598
|
+
}],
|
|
2599
|
+
url: "/v1/crm/templates",
|
|
2600
|
+
...options
|
|
2601
|
+
});
|
|
2602
|
+
}
|
|
2603
|
+
/**
|
|
2604
|
+
* Create a template (optionally captured from a list)
|
|
2605
|
+
*/
|
|
2606
|
+
static createCrmTemplate(options) {
|
|
2607
|
+
return (options?.client ?? client).post({
|
|
2608
|
+
security: [{
|
|
2609
|
+
name: "x-api-key",
|
|
2610
|
+
type: "apiKey"
|
|
2611
|
+
}, {
|
|
2612
|
+
scheme: "bearer",
|
|
2613
|
+
type: "http"
|
|
2614
|
+
}],
|
|
2615
|
+
url: "/v1/crm/templates",
|
|
2616
|
+
...options,
|
|
2617
|
+
headers: {
|
|
2618
|
+
"Content-Type": "application/json",
|
|
2619
|
+
...options?.headers
|
|
2620
|
+
}
|
|
2621
|
+
});
|
|
2622
|
+
}
|
|
2623
|
+
/**
|
|
2624
|
+
* Delete a template (its fields + shares cascade)
|
|
2625
|
+
*/
|
|
2626
|
+
static deleteCrmTemplate(options) {
|
|
2627
|
+
return (options.client ?? client).delete({
|
|
2628
|
+
security: [{
|
|
2629
|
+
name: "x-api-key",
|
|
2630
|
+
type: "apiKey"
|
|
2631
|
+
}, {
|
|
2632
|
+
scheme: "bearer",
|
|
2633
|
+
type: "http"
|
|
2634
|
+
}],
|
|
2635
|
+
url: "/v1/crm/templates/{id}",
|
|
2636
|
+
...options
|
|
2637
|
+
});
|
|
2638
|
+
}
|
|
2639
|
+
/**
|
|
2640
|
+
* Load one template with its fields
|
|
2641
|
+
*/
|
|
2642
|
+
static getCrmTemplate(options) {
|
|
2643
|
+
return (options.client ?? client).get({
|
|
2644
|
+
security: [{
|
|
2645
|
+
name: "x-api-key",
|
|
2646
|
+
type: "apiKey"
|
|
2647
|
+
}, {
|
|
2648
|
+
scheme: "bearer",
|
|
2649
|
+
type: "http"
|
|
2650
|
+
}],
|
|
2651
|
+
url: "/v1/crm/templates/{id}",
|
|
2652
|
+
...options
|
|
2653
|
+
});
|
|
2654
|
+
}
|
|
2655
|
+
/**
|
|
2656
|
+
* Rename a template
|
|
2657
|
+
*/
|
|
2658
|
+
static updateCrmTemplate(options) {
|
|
2659
|
+
return (options.client ?? client).patch({
|
|
2660
|
+
security: [{
|
|
2661
|
+
name: "x-api-key",
|
|
2662
|
+
type: "apiKey"
|
|
2663
|
+
}, {
|
|
2664
|
+
scheme: "bearer",
|
|
2665
|
+
type: "http"
|
|
2666
|
+
}],
|
|
2667
|
+
url: "/v1/crm/templates/{id}",
|
|
2668
|
+
...options,
|
|
2669
|
+
headers: {
|
|
2670
|
+
"Content-Type": "application/json",
|
|
2671
|
+
...options?.headers
|
|
2672
|
+
}
|
|
2673
|
+
});
|
|
2674
|
+
}
|
|
2675
|
+
/**
|
|
2676
|
+
* Revoke a teammate's template grant
|
|
2677
|
+
*/
|
|
2678
|
+
static unshareCrmTemplate(options) {
|
|
2679
|
+
return (options.client ?? client).delete({
|
|
2680
|
+
security: [{
|
|
2681
|
+
name: "x-api-key",
|
|
2682
|
+
type: "apiKey"
|
|
2683
|
+
}, {
|
|
2684
|
+
scheme: "bearer",
|
|
2685
|
+
type: "http"
|
|
2686
|
+
}],
|
|
2687
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
2688
|
+
...options
|
|
2689
|
+
});
|
|
2690
|
+
}
|
|
2691
|
+
/**
|
|
2692
|
+
* A template's share panel (owner display, canManage, grantees)
|
|
2693
|
+
*/
|
|
2694
|
+
static getCrmTemplateShares(options) {
|
|
2695
|
+
return (options.client ?? client).get({
|
|
2696
|
+
security: [{
|
|
2697
|
+
name: "x-api-key",
|
|
2698
|
+
type: "apiKey"
|
|
2699
|
+
}, {
|
|
2700
|
+
scheme: "bearer",
|
|
2701
|
+
type: "http"
|
|
2702
|
+
}],
|
|
2703
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
2704
|
+
...options
|
|
2705
|
+
});
|
|
2706
|
+
}
|
|
2707
|
+
/**
|
|
2708
|
+
* Grant a teammate load access to a template
|
|
2709
|
+
*/
|
|
2710
|
+
static shareCrmTemplate(options) {
|
|
2711
|
+
return (options.client ?? client).post({
|
|
2712
|
+
security: [{
|
|
2713
|
+
name: "x-api-key",
|
|
2714
|
+
type: "apiKey"
|
|
2715
|
+
}, {
|
|
2716
|
+
scheme: "bearer",
|
|
2717
|
+
type: "http"
|
|
2718
|
+
}],
|
|
2719
|
+
url: "/v1/crm/templates/{id}/shares",
|
|
2720
|
+
...options,
|
|
2721
|
+
headers: {
|
|
2722
|
+
"Content-Type": "application/json",
|
|
2723
|
+
...options?.headers
|
|
2724
|
+
}
|
|
2725
|
+
});
|
|
2726
|
+
}
|
|
2727
|
+
/**
|
|
2728
|
+
* Revoke a user's access to a record
|
|
2729
|
+
*/
|
|
2730
|
+
static revokeCrmRecordAccess(options) {
|
|
2731
|
+
return (options?.client ?? client).delete({
|
|
2732
|
+
security: [{
|
|
2733
|
+
name: "x-api-key",
|
|
2734
|
+
type: "apiKey"
|
|
2735
|
+
}, {
|
|
2736
|
+
scheme: "bearer",
|
|
2737
|
+
type: "http"
|
|
2738
|
+
}],
|
|
2739
|
+
url: "/v1/crm/record-shares",
|
|
2740
|
+
...options,
|
|
2741
|
+
headers: {
|
|
2742
|
+
"Content-Type": "application/json",
|
|
2743
|
+
...options?.headers
|
|
2744
|
+
}
|
|
2745
|
+
});
|
|
2746
|
+
}
|
|
2747
|
+
/**
|
|
2748
|
+
* List the direct shares on a record (+ display, canManageShares)
|
|
2749
|
+
*/
|
|
2750
|
+
static listCrmRecordShares(options) {
|
|
2751
|
+
return (options.client ?? client).get({
|
|
2752
|
+
security: [{
|
|
2753
|
+
name: "x-api-key",
|
|
2754
|
+
type: "apiKey"
|
|
2755
|
+
}, {
|
|
2756
|
+
scheme: "bearer",
|
|
2757
|
+
type: "http"
|
|
2758
|
+
}],
|
|
2759
|
+
url: "/v1/crm/record-shares",
|
|
2760
|
+
...options
|
|
2761
|
+
});
|
|
2762
|
+
}
|
|
2763
|
+
/**
|
|
2764
|
+
* Grant a user access to a record
|
|
2765
|
+
*/
|
|
2766
|
+
static grantCrmRecordAccess(options) {
|
|
2767
|
+
return (options?.client ?? client).post({
|
|
2768
|
+
security: [{
|
|
2769
|
+
name: "x-api-key",
|
|
2770
|
+
type: "apiKey"
|
|
2771
|
+
}, {
|
|
2772
|
+
scheme: "bearer",
|
|
2773
|
+
type: "http"
|
|
2774
|
+
}],
|
|
2775
|
+
url: "/v1/crm/record-shares",
|
|
2776
|
+
...options,
|
|
2777
|
+
headers: {
|
|
2778
|
+
"Content-Type": "application/json",
|
|
2779
|
+
...options?.headers
|
|
2780
|
+
}
|
|
2781
|
+
});
|
|
2782
|
+
}
|
|
2783
|
+
/**
|
|
2784
|
+
* Who can access a record, and whether the caller may manage shares
|
|
2785
|
+
*/
|
|
2786
|
+
static getCrmRecordAccess(options) {
|
|
2787
|
+
return (options.client ?? client).get({
|
|
2788
|
+
security: [{
|
|
2789
|
+
name: "x-api-key",
|
|
2790
|
+
type: "apiKey"
|
|
2791
|
+
}, {
|
|
2792
|
+
scheme: "bearer",
|
|
2793
|
+
type: "http"
|
|
2794
|
+
}],
|
|
2795
|
+
url: "/v1/crm/record-access",
|
|
2796
|
+
...options
|
|
2797
|
+
});
|
|
2798
|
+
}
|
|
2799
|
+
/**
|
|
2800
|
+
* Typeahead search for email recipients the caller can see
|
|
2801
|
+
*/
|
|
2802
|
+
static searchCrmEmailRecipients(options) {
|
|
2803
|
+
return (options.client ?? client).get({
|
|
2804
|
+
security: [{
|
|
2805
|
+
name: "x-api-key",
|
|
2806
|
+
type: "apiKey"
|
|
2807
|
+
}, {
|
|
2808
|
+
scheme: "bearer",
|
|
2809
|
+
type: "http"
|
|
2810
|
+
}],
|
|
2811
|
+
url: "/v1/crm/recipients",
|
|
2812
|
+
...options
|
|
2813
|
+
});
|
|
2814
|
+
}
|
|
2815
|
+
/**
|
|
2816
|
+
* Bulk import records (create or update), optionally into a list
|
|
2817
|
+
*/
|
|
2818
|
+
static importCrmRecords(options) {
|
|
2819
|
+
return (options?.client ?? client).post({
|
|
2820
|
+
security: [{
|
|
2821
|
+
name: "x-api-key",
|
|
2822
|
+
type: "apiKey"
|
|
2823
|
+
}, {
|
|
2824
|
+
scheme: "bearer",
|
|
2825
|
+
type: "http"
|
|
2826
|
+
}],
|
|
2827
|
+
url: "/v1/crm/import",
|
|
2828
|
+
...options,
|
|
2829
|
+
headers: {
|
|
2830
|
+
"Content-Type": "application/json",
|
|
2831
|
+
...options?.headers
|
|
2832
|
+
}
|
|
2833
|
+
});
|
|
2834
|
+
}
|
|
2835
|
+
/**
|
|
2836
|
+
* Apply a match to an imported record (link + seed contacts)
|
|
2837
|
+
*/
|
|
2838
|
+
static applyCrmEnrichment(options) {
|
|
2839
|
+
return (options?.client ?? client).post({
|
|
2840
|
+
security: [{
|
|
2841
|
+
name: "x-api-key",
|
|
2842
|
+
type: "apiKey"
|
|
2843
|
+
}, {
|
|
2844
|
+
scheme: "bearer",
|
|
2845
|
+
type: "http"
|
|
2846
|
+
}],
|
|
2847
|
+
url: "/v1/crm/enrich/apply",
|
|
2848
|
+
...options,
|
|
2849
|
+
headers: {
|
|
2850
|
+
"Content-Type": "application/json",
|
|
2851
|
+
...options?.headers
|
|
2852
|
+
}
|
|
2853
|
+
});
|
|
2854
|
+
}
|
|
2855
|
+
/**
|
|
2856
|
+
* Link a record to a chosen candidate
|
|
2857
|
+
*/
|
|
2858
|
+
static linkCrmRecord(options) {
|
|
2859
|
+
return (options?.client ?? client).patch({
|
|
2860
|
+
security: [{
|
|
2861
|
+
name: "x-api-key",
|
|
2862
|
+
type: "apiKey"
|
|
2863
|
+
}, {
|
|
2864
|
+
scheme: "bearer",
|
|
2865
|
+
type: "http"
|
|
2866
|
+
}],
|
|
2867
|
+
url: "/v1/crm/match",
|
|
2868
|
+
...options,
|
|
2869
|
+
headers: {
|
|
2870
|
+
"Content-Type": "application/json",
|
|
2871
|
+
...options?.headers
|
|
2872
|
+
}
|
|
2873
|
+
});
|
|
2874
|
+
}
|
|
2875
|
+
/**
|
|
2876
|
+
* Find candidate entities to link an unmatched record to
|
|
2877
|
+
*/
|
|
2878
|
+
static searchCrmMatchCandidates(options) {
|
|
2879
|
+
return (options?.client ?? client).post({
|
|
2880
|
+
security: [{
|
|
2881
|
+
name: "x-api-key",
|
|
2882
|
+
type: "apiKey"
|
|
2883
|
+
}, {
|
|
2884
|
+
scheme: "bearer",
|
|
2885
|
+
type: "http"
|
|
2886
|
+
}],
|
|
2887
|
+
url: "/v1/crm/match",
|
|
2888
|
+
...options,
|
|
2889
|
+
headers: {
|
|
2890
|
+
"Content-Type": "application/json",
|
|
2891
|
+
...options?.headers
|
|
2892
|
+
}
|
|
2893
|
+
});
|
|
2894
|
+
}
|
|
2895
|
+
/**
|
|
2896
|
+
* Recent-vs-prior 3-month closed-loan units for a set of LOs (by NMLS)
|
|
2897
|
+
*/
|
|
2898
|
+
static crmLoMomentum(options) {
|
|
2899
|
+
return (options?.client ?? client).post({
|
|
2900
|
+
security: [{
|
|
2901
|
+
name: "x-api-key",
|
|
2902
|
+
type: "apiKey"
|
|
2903
|
+
}, {
|
|
2904
|
+
scheme: "bearer",
|
|
2905
|
+
type: "http"
|
|
2906
|
+
}],
|
|
2907
|
+
url: "/v1/crm/lo-momentum",
|
|
2908
|
+
...options,
|
|
2909
|
+
headers: {
|
|
2910
|
+
"Content-Type": "application/json",
|
|
2911
|
+
...options?.headers
|
|
2912
|
+
}
|
|
2913
|
+
});
|
|
2914
|
+
}
|
|
2915
|
+
/**
|
|
2916
|
+
* Loan-type mix (percentage + top type) for a single LO (by NMLS)
|
|
2917
|
+
*/
|
|
2918
|
+
static crmLoLoanMix(options) {
|
|
2919
|
+
return (options?.client ?? client).post({
|
|
2920
|
+
security: [{
|
|
2921
|
+
name: "x-api-key",
|
|
2922
|
+
type: "apiKey"
|
|
2923
|
+
}, {
|
|
2924
|
+
scheme: "bearer",
|
|
2925
|
+
type: "http"
|
|
2926
|
+
}],
|
|
2927
|
+
url: "/v1/crm/lo-loan-mix",
|
|
2928
|
+
...options,
|
|
2929
|
+
headers: {
|
|
2930
|
+
"Content-Type": "application/json",
|
|
2931
|
+
...options?.headers
|
|
2932
|
+
}
|
|
2933
|
+
});
|
|
2934
|
+
}
|
|
2935
|
+
/**
|
|
2936
|
+
* Rank an agent's LO partners by product-mix + size similarity to a viewing LO
|
|
2937
|
+
*/
|
|
2938
|
+
static crmSimilarOriginators(options) {
|
|
2939
|
+
return (options?.client ?? client).post({
|
|
2940
|
+
security: [{
|
|
2941
|
+
name: "x-api-key",
|
|
2942
|
+
type: "apiKey"
|
|
2943
|
+
}, {
|
|
2944
|
+
scheme: "bearer",
|
|
2945
|
+
type: "http"
|
|
2946
|
+
}],
|
|
2947
|
+
url: "/v1/crm/similar-originators",
|
|
2948
|
+
...options,
|
|
2949
|
+
headers: {
|
|
2950
|
+
"Content-Type": "application/json",
|
|
2951
|
+
...options?.headers
|
|
2952
|
+
}
|
|
2953
|
+
});
|
|
2954
|
+
}
|
|
2955
|
+
/**
|
|
2956
|
+
* Current-sponsor office location + sponsored flag for a set of LOs
|
|
2957
|
+
*/
|
|
2958
|
+
static crmLoSponsorLocation(options) {
|
|
2959
|
+
return (options?.client ?? client).post({
|
|
2960
|
+
security: [{
|
|
2961
|
+
name: "x-api-key",
|
|
2962
|
+
type: "apiKey"
|
|
2963
|
+
}, {
|
|
2964
|
+
scheme: "bearer",
|
|
2965
|
+
type: "http"
|
|
2966
|
+
}],
|
|
2967
|
+
url: "/v1/crm/lo-sponsor-location",
|
|
2968
|
+
...options,
|
|
2969
|
+
headers: {
|
|
2970
|
+
"Content-Type": "application/json",
|
|
2971
|
+
...options?.headers
|
|
2972
|
+
}
|
|
2973
|
+
});
|
|
2974
|
+
}
|
|
2975
|
+
/**
|
|
2976
|
+
* Bank / Credit Union / Broker / Retail channel per LO (by NMLS)
|
|
2977
|
+
*/
|
|
2978
|
+
static crmLenderChannels(options) {
|
|
2979
|
+
return (options?.client ?? client).post({
|
|
2980
|
+
security: [{
|
|
2981
|
+
name: "x-api-key",
|
|
2982
|
+
type: "apiKey"
|
|
2983
|
+
}, {
|
|
2984
|
+
scheme: "bearer",
|
|
2985
|
+
type: "http"
|
|
2986
|
+
}],
|
|
2987
|
+
url: "/v1/crm/lender-channels",
|
|
2988
|
+
...options,
|
|
2989
|
+
headers: {
|
|
2990
|
+
"Content-Type": "application/json",
|
|
2991
|
+
...options?.headers
|
|
2992
|
+
}
|
|
2993
|
+
});
|
|
2994
|
+
}
|
|
2995
|
+
/**
|
|
2996
|
+
* The current user's still-live call (for reload resume)
|
|
2997
|
+
*/
|
|
2998
|
+
static getCrmActiveCall(options) {
|
|
2999
|
+
return (options?.client ?? client).get({
|
|
3000
|
+
security: [{
|
|
3001
|
+
name: "x-api-key",
|
|
3002
|
+
type: "apiKey"
|
|
3003
|
+
}, {
|
|
3004
|
+
scheme: "bearer",
|
|
3005
|
+
type: "http"
|
|
3006
|
+
}],
|
|
3007
|
+
url: "/v1/crm/calls/active",
|
|
3008
|
+
...options
|
|
3009
|
+
});
|
|
3010
|
+
}
|
|
3011
|
+
/**
|
|
3012
|
+
* Persist an AI analysis of a recorded call
|
|
3013
|
+
*/
|
|
3014
|
+
static setCrmCallAnalysis(options) {
|
|
3015
|
+
return (options?.client ?? client).post({
|
|
3016
|
+
security: [{
|
|
3017
|
+
name: "x-api-key",
|
|
3018
|
+
type: "apiKey"
|
|
3019
|
+
}, {
|
|
3020
|
+
scheme: "bearer",
|
|
3021
|
+
type: "http"
|
|
3022
|
+
}],
|
|
3023
|
+
url: "/v1/crm/calls/analysis",
|
|
3024
|
+
...options,
|
|
3025
|
+
headers: {
|
|
3026
|
+
"Content-Type": "application/json",
|
|
3027
|
+
...options?.headers
|
|
3028
|
+
}
|
|
3029
|
+
});
|
|
3030
|
+
}
|
|
3031
|
+
/**
|
|
3032
|
+
* Poll a recorded call's transcript (advances the pipeline)
|
|
3033
|
+
*/
|
|
3034
|
+
static getCrmCallTranscript(options) {
|
|
3035
|
+
return (options.client ?? client).get({
|
|
3036
|
+
security: [{
|
|
3037
|
+
name: "x-api-key",
|
|
3038
|
+
type: "apiKey"
|
|
3039
|
+
}, {
|
|
3040
|
+
scheme: "bearer",
|
|
3041
|
+
type: "http"
|
|
3042
|
+
}],
|
|
3043
|
+
url: "/v1/crm/calls/transcript",
|
|
3044
|
+
...options
|
|
3045
|
+
});
|
|
3046
|
+
}
|
|
3047
|
+
/**
|
|
3048
|
+
* Remove a caller ID from the registry
|
|
3049
|
+
*/
|
|
3050
|
+
static deleteCrmCallerId(options) {
|
|
3051
|
+
return (options.client ?? client).delete({
|
|
3052
|
+
security: [{
|
|
3053
|
+
name: "x-api-key",
|
|
3054
|
+
type: "apiKey"
|
|
3055
|
+
}, {
|
|
3056
|
+
scheme: "bearer",
|
|
3057
|
+
type: "http"
|
|
3058
|
+
}],
|
|
3059
|
+
url: "/v1/crm/caller-ids",
|
|
3060
|
+
...options
|
|
3061
|
+
});
|
|
3062
|
+
}
|
|
3063
|
+
/**
|
|
3064
|
+
* List the current user's caller IDs
|
|
3065
|
+
*/
|
|
3066
|
+
static listCrmCallerIds(options) {
|
|
3067
|
+
return (options?.client ?? client).get({
|
|
3068
|
+
security: [{
|
|
3069
|
+
name: "x-api-key",
|
|
3070
|
+
type: "apiKey"
|
|
3071
|
+
}, {
|
|
3072
|
+
scheme: "bearer",
|
|
3073
|
+
type: "http"
|
|
3074
|
+
}],
|
|
3075
|
+
url: "/v1/crm/caller-ids",
|
|
3076
|
+
...options
|
|
3077
|
+
});
|
|
3078
|
+
}
|
|
3079
|
+
/**
|
|
3080
|
+
* Make a verified caller ID the default
|
|
3081
|
+
*/
|
|
3082
|
+
static setDefaultCrmCallerId(options) {
|
|
3083
|
+
return (options?.client ?? client).patch({
|
|
3084
|
+
security: [{
|
|
3085
|
+
name: "x-api-key",
|
|
3086
|
+
type: "apiKey"
|
|
3087
|
+
}, {
|
|
3088
|
+
scheme: "bearer",
|
|
3089
|
+
type: "http"
|
|
3090
|
+
}],
|
|
3091
|
+
url: "/v1/crm/caller-ids",
|
|
3092
|
+
...options,
|
|
3093
|
+
headers: {
|
|
3094
|
+
"Content-Type": "application/json",
|
|
3095
|
+
...options?.headers
|
|
3096
|
+
}
|
|
3097
|
+
});
|
|
3098
|
+
}
|
|
3099
|
+
/**
|
|
3100
|
+
* Start caller-ID verification or re-check its outcome
|
|
3101
|
+
*/
|
|
3102
|
+
static actionCrmCallerId(options) {
|
|
3103
|
+
return (options?.client ?? client).post({
|
|
3104
|
+
security: [{
|
|
3105
|
+
name: "x-api-key",
|
|
3106
|
+
type: "apiKey"
|
|
3107
|
+
}, {
|
|
3108
|
+
scheme: "bearer",
|
|
3109
|
+
type: "http"
|
|
3110
|
+
}],
|
|
3111
|
+
url: "/v1/crm/caller-ids",
|
|
3112
|
+
...options,
|
|
3113
|
+
headers: {
|
|
3114
|
+
"Content-Type": "application/json",
|
|
3115
|
+
...options?.headers
|
|
3116
|
+
}
|
|
3117
|
+
});
|
|
3118
|
+
}
|
|
3119
|
+
/**
|
|
3120
|
+
* Poll one call's status (syncs + finalizes on terminal)
|
|
3121
|
+
*/
|
|
3122
|
+
static getCrmCall(options) {
|
|
3123
|
+
return (options.client ?? client).get({
|
|
3124
|
+
security: [{
|
|
3125
|
+
name: "x-api-key",
|
|
3126
|
+
type: "apiKey"
|
|
3127
|
+
}, {
|
|
3128
|
+
scheme: "bearer",
|
|
3129
|
+
type: "http"
|
|
3130
|
+
}],
|
|
3131
|
+
url: "/v1/crm/calls",
|
|
3132
|
+
...options
|
|
3133
|
+
});
|
|
3134
|
+
}
|
|
3135
|
+
/**
|
|
3136
|
+
* Hang up an in-flight call
|
|
3137
|
+
*/
|
|
3138
|
+
static hangupCrmCall(options) {
|
|
3139
|
+
return (options?.client ?? client).patch({
|
|
3140
|
+
security: [{
|
|
3141
|
+
name: "x-api-key",
|
|
3142
|
+
type: "apiKey"
|
|
3143
|
+
}, {
|
|
3144
|
+
scheme: "bearer",
|
|
3145
|
+
type: "http"
|
|
3146
|
+
}],
|
|
3147
|
+
url: "/v1/crm/calls",
|
|
3148
|
+
...options,
|
|
3149
|
+
headers: {
|
|
3150
|
+
"Content-Type": "application/json",
|
|
3151
|
+
...options?.headers
|
|
3152
|
+
}
|
|
3153
|
+
});
|
|
3154
|
+
}
|
|
3155
|
+
/**
|
|
3156
|
+
* Place an outbound bridge call
|
|
3157
|
+
*/
|
|
3158
|
+
static placeCrmCall(options) {
|
|
3159
|
+
return (options?.client ?? client).post({
|
|
3160
|
+
security: [{
|
|
3161
|
+
name: "x-api-key",
|
|
3162
|
+
type: "apiKey"
|
|
3163
|
+
}, {
|
|
3164
|
+
scheme: "bearer",
|
|
3165
|
+
type: "http"
|
|
3166
|
+
}],
|
|
3167
|
+
url: "/v1/crm/calls",
|
|
3168
|
+
...options,
|
|
3169
|
+
headers: {
|
|
3170
|
+
"Content-Type": "application/json",
|
|
3171
|
+
...options?.headers
|
|
3172
|
+
}
|
|
3173
|
+
});
|
|
3174
|
+
}
|
|
3175
|
+
};
|
|
3176
|
+
var Search = class {
|
|
3177
|
+
/**
|
|
3178
|
+
* Instant multi-entity typeahead search
|
|
3179
|
+
* 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).
|
|
3180
|
+
*/
|
|
3181
|
+
static instant(options) {
|
|
3182
|
+
return (options?.client ?? client).post({
|
|
3183
|
+
security: [{
|
|
3184
|
+
name: "x-api-key",
|
|
3185
|
+
type: "apiKey"
|
|
3186
|
+
}, {
|
|
3187
|
+
scheme: "bearer",
|
|
3188
|
+
type: "http"
|
|
3189
|
+
}],
|
|
3190
|
+
url: "/v1/instant-search",
|
|
3191
|
+
...options,
|
|
3192
|
+
headers: {
|
|
3193
|
+
"Content-Type": "application/json",
|
|
3194
|
+
...options?.headers
|
|
3195
|
+
}
|
|
3196
|
+
});
|
|
3197
|
+
}
|
|
3198
|
+
/**
|
|
3199
|
+
* Mint a scoped search token
|
|
3200
|
+
* Returns a short-lived scoped search token plus the host to query, so a trusted client can search the entity indexes directly with per-query controls (e.g. attributesToSearchOn for name-only matching).
|
|
3201
|
+
*/
|
|
3202
|
+
static getSearchToken(options) {
|
|
3203
|
+
return (options?.client ?? client).get({
|
|
3204
|
+
security: [{
|
|
3205
|
+
name: "x-api-key",
|
|
3206
|
+
type: "apiKey"
|
|
3207
|
+
}, {
|
|
3208
|
+
scheme: "bearer",
|
|
3209
|
+
type: "http"
|
|
3210
|
+
}],
|
|
3211
|
+
url: "/v1/search-token",
|
|
3212
|
+
...options
|
|
3213
|
+
});
|
|
3214
|
+
}
|
|
3215
|
+
};
|
|
3216
|
+
var Lenders = class {
|
|
3217
|
+
/**
|
|
3218
|
+
* Search lenders with filters
|
|
3219
|
+
* Search and list normalized lender names/identities with filters — resolves raw or variant lender names to canonical lender records. Use it to look up a lender by name or reconcile lender-name variants to a single canonical entity.
|
|
3220
|
+
*/
|
|
3221
|
+
static list(options) {
|
|
3222
|
+
return (options?.client ?? client).post({
|
|
3223
|
+
security: [{
|
|
3224
|
+
name: "x-api-key",
|
|
3225
|
+
type: "apiKey"
|
|
3226
|
+
}, {
|
|
3227
|
+
scheme: "bearer",
|
|
3228
|
+
type: "http"
|
|
3229
|
+
}],
|
|
3230
|
+
url: "/v1/lenders",
|
|
3231
|
+
...options,
|
|
3232
|
+
headers: {
|
|
3233
|
+
"Content-Type": "application/json",
|
|
3234
|
+
...options?.headers
|
|
3235
|
+
}
|
|
3236
|
+
});
|
|
3237
|
+
}
|
|
3238
|
+
/**
|
|
3239
|
+
* Get lender by ID
|
|
3240
|
+
*/
|
|
3241
|
+
static get(options) {
|
|
3242
|
+
return (options.client ?? client).get({
|
|
3243
|
+
security: [{
|
|
3244
|
+
name: "x-api-key",
|
|
3245
|
+
type: "apiKey"
|
|
3246
|
+
}, {
|
|
3247
|
+
scheme: "bearer",
|
|
3248
|
+
type: "http"
|
|
3249
|
+
}],
|
|
3250
|
+
url: "/v1/lenders/{id}",
|
|
3251
|
+
...options
|
|
3252
|
+
});
|
|
3253
|
+
}
|
|
3254
|
+
};
|
|
3255
|
+
var Loans = class {
|
|
3256
|
+
/**
|
|
3257
|
+
* Search individual loan records with filters
|
|
3258
|
+
* Search and list individual public-record mortgage and deed loan records — one row per loan (purchase, refinance, origination). Filter by geography (state, county, city, zip), lender, originator, loan amount, interest rate, loan type/purpose, and recording date, with sorting and cursor pagination. This is the discrete per-loan record search: use it to find specific loans or build a filtered loan list. (For aggregate market rates and volumes use the market search; for one loan by its ID use the loan detail endpoint.)
|
|
3259
|
+
*/
|
|
3260
|
+
static list(options) {
|
|
3261
|
+
return (options?.client ?? client).post({
|
|
3262
|
+
security: [{
|
|
3263
|
+
name: "x-api-key",
|
|
3264
|
+
type: "apiKey"
|
|
3265
|
+
}, {
|
|
3266
|
+
scheme: "bearer",
|
|
3267
|
+
type: "http"
|
|
3268
|
+
}],
|
|
3269
|
+
url: "/v1/loans",
|
|
3270
|
+
...options,
|
|
3271
|
+
headers: {
|
|
3272
|
+
"Content-Type": "application/json",
|
|
3273
|
+
...options?.headers
|
|
3274
|
+
}
|
|
3275
|
+
});
|
|
3276
|
+
}
|
|
3277
|
+
/**
|
|
3278
|
+
* Get loan by ID
|
|
3279
|
+
*/
|
|
3280
|
+
static get(options) {
|
|
3281
|
+
return (options.client ?? client).get({
|
|
3282
|
+
security: [{
|
|
3283
|
+
name: "x-api-key",
|
|
3284
|
+
type: "apiKey"
|
|
3285
|
+
}, {
|
|
3286
|
+
scheme: "bearer",
|
|
3287
|
+
type: "http"
|
|
3288
|
+
}],
|
|
3289
|
+
url: "/v1/loans/{id}",
|
|
3290
|
+
...options
|
|
3291
|
+
});
|
|
3292
|
+
}
|
|
3293
|
+
/**
|
|
3294
|
+
* Market summary with previous-period comparison
|
|
3295
|
+
*/
|
|
3296
|
+
static analyticsSummary(options) {
|
|
3297
|
+
return (options?.client ?? client).post({
|
|
3298
|
+
security: [{
|
|
3299
|
+
name: "x-api-key",
|
|
3300
|
+
type: "apiKey"
|
|
3301
|
+
}, {
|
|
3302
|
+
scheme: "bearer",
|
|
3303
|
+
type: "http"
|
|
3304
|
+
}],
|
|
3305
|
+
url: "/v1/loans/analytics/summary",
|
|
3306
|
+
...options,
|
|
3307
|
+
headers: {
|
|
3308
|
+
"Content-Type": "application/json",
|
|
3309
|
+
...options?.headers
|
|
3310
|
+
}
|
|
3311
|
+
});
|
|
3312
|
+
}
|
|
3313
|
+
/**
|
|
3314
|
+
* Volume / units over time
|
|
3315
|
+
*/
|
|
3316
|
+
static analyticsTimeSeries(options) {
|
|
3317
|
+
return (options?.client ?? client).post({
|
|
3318
|
+
security: [{
|
|
3319
|
+
name: "x-api-key",
|
|
3320
|
+
type: "apiKey"
|
|
3321
|
+
}, {
|
|
3322
|
+
scheme: "bearer",
|
|
3323
|
+
type: "http"
|
|
3324
|
+
}],
|
|
3325
|
+
url: "/v1/loans/analytics/time-series",
|
|
3326
|
+
...options,
|
|
3327
|
+
headers: {
|
|
3328
|
+
"Content-Type": "application/json",
|
|
3329
|
+
...options?.headers
|
|
3330
|
+
}
|
|
3331
|
+
});
|
|
3332
|
+
}
|
|
3333
|
+
/**
|
|
3334
|
+
* Configurable chart data (measure × slice)
|
|
3335
|
+
*/
|
|
3336
|
+
static analyticsChart(options) {
|
|
3337
|
+
return (options?.client ?? client).post({
|
|
3338
|
+
security: [{
|
|
3339
|
+
name: "x-api-key",
|
|
3340
|
+
type: "apiKey"
|
|
3341
|
+
}, {
|
|
3342
|
+
scheme: "bearer",
|
|
3343
|
+
type: "http"
|
|
3344
|
+
}],
|
|
3345
|
+
url: "/v1/loans/analytics/chart",
|
|
3346
|
+
...options,
|
|
3347
|
+
headers: {
|
|
3348
|
+
"Content-Type": "application/json",
|
|
3349
|
+
...options?.headers
|
|
3350
|
+
}
|
|
3351
|
+
});
|
|
3352
|
+
}
|
|
3353
|
+
/**
|
|
3354
|
+
* Submit a bulk-delivery job for loans
|
|
3355
|
+
* 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.
|
|
3356
|
+
*/
|
|
3357
|
+
static submitLoansBulkDelivery(options) {
|
|
3358
|
+
return (options?.client ?? client).post({
|
|
3359
|
+
security: [{
|
|
3360
|
+
name: "x-api-key",
|
|
3361
|
+
type: "apiKey"
|
|
3362
|
+
}, {
|
|
3363
|
+
scheme: "bearer",
|
|
3364
|
+
type: "http"
|
|
3365
|
+
}],
|
|
3366
|
+
url: "/v1/loans/bulk-delivery",
|
|
3367
|
+
...options,
|
|
3368
|
+
headers: {
|
|
3369
|
+
"Content-Type": "application/json",
|
|
3370
|
+
...options?.headers
|
|
3371
|
+
}
|
|
3372
|
+
});
|
|
3373
|
+
}
|
|
3374
|
+
/**
|
|
3375
|
+
* Get bulk-delivery job status for loans
|
|
3376
|
+
*/
|
|
3377
|
+
static getLoansBulkDeliveryJob(options) {
|
|
3378
|
+
return (options.client ?? client).get({
|
|
3379
|
+
security: [{
|
|
3380
|
+
name: "x-api-key",
|
|
3381
|
+
type: "apiKey"
|
|
3382
|
+
}, {
|
|
3383
|
+
scheme: "bearer",
|
|
3384
|
+
type: "http"
|
|
3385
|
+
}],
|
|
3386
|
+
url: "/v1/loans/bulk-delivery/{jobId}",
|
|
3387
|
+
...options
|
|
3388
|
+
});
|
|
3389
|
+
}
|
|
3390
|
+
};
|
|
3391
|
+
var Locations = class {
|
|
3392
|
+
/**
|
|
3393
|
+
* Autocomplete location search
|
|
3394
|
+
* 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.
|
|
3395
|
+
*/
|
|
3396
|
+
static suggest(options) {
|
|
3397
|
+
return (options.client ?? client).get({
|
|
3398
|
+
security: [{
|
|
3399
|
+
name: "x-api-key",
|
|
3400
|
+
type: "apiKey"
|
|
3401
|
+
}, {
|
|
3402
|
+
scheme: "bearer",
|
|
3403
|
+
type: "http"
|
|
3404
|
+
}],
|
|
3405
|
+
url: "/v1/locations/suggest",
|
|
3406
|
+
...options
|
|
3407
|
+
});
|
|
3408
|
+
}
|
|
3409
|
+
/**
|
|
3410
|
+
* Retrieve normalized location details
|
|
3411
|
+
* 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.
|
|
3412
|
+
*/
|
|
3413
|
+
static retrieve(options) {
|
|
3414
|
+
return (options.client ?? client).get({
|
|
3415
|
+
security: [{
|
|
3416
|
+
name: "x-api-key",
|
|
3417
|
+
type: "apiKey"
|
|
3418
|
+
}, {
|
|
3419
|
+
scheme: "bearer",
|
|
3420
|
+
type: "http"
|
|
3421
|
+
}],
|
|
3422
|
+
url: "/v1/locations/retrieve/{mapboxId}",
|
|
3423
|
+
...options
|
|
3424
|
+
});
|
|
3425
|
+
}
|
|
3426
|
+
};
|
|
3427
|
+
var Market = class {
|
|
3428
|
+
/**
|
|
3429
|
+
* Search aggregated market data with filters
|
|
3430
|
+
* Search aggregated loan origination market data. Filterable dimensions cover geography (state, county, zip), product (loan purpose / type / amortization), borrower demographics, and loan numerics.
|
|
3431
|
+
*/
|
|
3432
|
+
static list(options) {
|
|
3433
|
+
return (options?.client ?? client).post({
|
|
3434
|
+
security: [{
|
|
3435
|
+
name: "x-api-key",
|
|
3436
|
+
type: "apiKey"
|
|
3437
|
+
}, {
|
|
3438
|
+
scheme: "bearer",
|
|
3439
|
+
type: "http"
|
|
3440
|
+
}],
|
|
3441
|
+
url: "/v1/market",
|
|
3442
|
+
...options,
|
|
3443
|
+
headers: {
|
|
3444
|
+
"Content-Type": "application/json",
|
|
3445
|
+
...options?.headers
|
|
3446
|
+
}
|
|
3447
|
+
});
|
|
3448
|
+
}
|
|
3449
|
+
/**
|
|
3450
|
+
* Market summary (volume, units, rate, loan amount, credit score, LTV, DTI, income, etc.) with previous-period comparison
|
|
3451
|
+
*/
|
|
3452
|
+
static analyticsSummary(options) {
|
|
3453
|
+
return (options?.client ?? client).post({
|
|
3454
|
+
security: [{
|
|
3455
|
+
name: "x-api-key",
|
|
3456
|
+
type: "apiKey"
|
|
3457
|
+
}, {
|
|
3458
|
+
scheme: "bearer",
|
|
3459
|
+
type: "http"
|
|
3460
|
+
}],
|
|
3461
|
+
url: "/v1/market/analytics/summary",
|
|
3462
|
+
...options,
|
|
3463
|
+
headers: {
|
|
3464
|
+
"Content-Type": "application/json",
|
|
3465
|
+
...options?.headers
|
|
3466
|
+
}
|
|
3467
|
+
});
|
|
3468
|
+
}
|
|
3469
|
+
/**
|
|
3470
|
+
* Market metrics over time
|
|
3471
|
+
*/
|
|
3472
|
+
static analyticsTimeSeries(options) {
|
|
3473
|
+
return (options?.client ?? client).post({
|
|
3474
|
+
security: [{
|
|
3475
|
+
name: "x-api-key",
|
|
3476
|
+
type: "apiKey"
|
|
3477
|
+
}, {
|
|
3478
|
+
scheme: "bearer",
|
|
3479
|
+
type: "http"
|
|
3480
|
+
}],
|
|
3481
|
+
url: "/v1/market/analytics/time-series",
|
|
3482
|
+
...options,
|
|
3483
|
+
headers: {
|
|
3484
|
+
"Content-Type": "application/json",
|
|
3485
|
+
...options?.headers
|
|
3486
|
+
}
|
|
3487
|
+
});
|
|
3488
|
+
}
|
|
3489
|
+
/**
|
|
3490
|
+
* Market measure by dimension breakdown
|
|
3491
|
+
*/
|
|
3492
|
+
static analyticsChart(options) {
|
|
3493
|
+
return (options?.client ?? client).post({
|
|
3494
|
+
security: [{
|
|
3495
|
+
name: "x-api-key",
|
|
3496
|
+
type: "apiKey"
|
|
3497
|
+
}, {
|
|
3498
|
+
scheme: "bearer",
|
|
3499
|
+
type: "http"
|
|
3500
|
+
}],
|
|
3501
|
+
url: "/v1/market/analytics/chart",
|
|
3502
|
+
...options,
|
|
3503
|
+
headers: {
|
|
3504
|
+
"Content-Type": "application/json",
|
|
3505
|
+
...options?.headers
|
|
3506
|
+
}
|
|
3507
|
+
});
|
|
3508
|
+
}
|
|
3509
|
+
};
|
|
3510
|
+
var Offices = class {
|
|
3511
|
+
/**
|
|
3512
|
+
* Agents at an office
|
|
3513
|
+
*/
|
|
3514
|
+
static agents(options) {
|
|
3515
|
+
return (options?.client ?? client).post({
|
|
3516
|
+
security: [{
|
|
3517
|
+
name: "x-api-key",
|
|
3518
|
+
type: "apiKey"
|
|
3519
|
+
}, {
|
|
3520
|
+
scheme: "bearer",
|
|
3521
|
+
type: "http"
|
|
3522
|
+
}],
|
|
3523
|
+
url: "/v1/offices/agents",
|
|
3524
|
+
...options,
|
|
3525
|
+
headers: {
|
|
3526
|
+
"Content-Type": "application/json",
|
|
3527
|
+
...options?.headers
|
|
3528
|
+
}
|
|
3529
|
+
});
|
|
3530
|
+
}
|
|
3531
|
+
/**
|
|
3532
|
+
* Search real-estate offices with filters
|
|
3533
|
+
* NOT NMLS mortgage branches — use `/branches` for those. Returns office name, address, agent count, coordinates, and office-level production for the selected period. Default sort is by agent count descending.
|
|
3534
|
+
*/
|
|
3535
|
+
static list(options) {
|
|
3536
|
+
return (options?.client ?? client).post({
|
|
3537
|
+
security: [{
|
|
3538
|
+
name: "x-api-key",
|
|
3539
|
+
type: "apiKey"
|
|
3540
|
+
}, {
|
|
3541
|
+
scheme: "bearer",
|
|
3542
|
+
type: "http"
|
|
3543
|
+
}],
|
|
3544
|
+
url: "/v1/offices",
|
|
3545
|
+
...options,
|
|
3546
|
+
headers: {
|
|
3547
|
+
"Content-Type": "application/json",
|
|
3548
|
+
...options?.headers
|
|
3549
|
+
}
|
|
3550
|
+
});
|
|
3551
|
+
}
|
|
3552
|
+
/**
|
|
3553
|
+
* Get office by key with office-level production
|
|
3554
|
+
*/
|
|
3555
|
+
static get(options) {
|
|
3556
|
+
return (options.client ?? client).get({
|
|
3557
|
+
security: [{
|
|
3558
|
+
name: "x-api-key",
|
|
3559
|
+
type: "apiKey"
|
|
3560
|
+
}, {
|
|
3561
|
+
scheme: "bearer",
|
|
3562
|
+
type: "http"
|
|
3563
|
+
}],
|
|
3564
|
+
url: "/v1/offices/{id}",
|
|
3565
|
+
...options
|
|
3566
|
+
});
|
|
3567
|
+
}
|
|
3568
|
+
};
|
|
3569
|
+
var Originators = class {
|
|
3570
|
+
/**
|
|
3571
|
+
* Search originators with filters
|
|
3572
|
+
* Search and list individual loan originators (LOs — NMLS-registered mortgage loan officers) with filters — one row per originator. Filter by name, NMLS ID, location (state, city), employer/company, and production metrics (loan volume, units, product mix), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city filters match an originator's PRODUCTION GEOGRAPHY — the markets where they actually originated loans in the selected period — not where their office or employer sits. An LO who lends across several markets matches a filter for ANY of those markets, while the `state`/`city` returned on each row reflect only their PRIMARY (highest-volume) market. So a search for city "Long Beach" can return an LO whose displayed location is a different city/state (e.g. their top market is in Arizona) — they still originated loans in Long Beach, it just isn't their #1 market. To rank originators by their volume within a specific market, sort by volume after filtering, or use the per-originator city/county/state breakdown endpoints. This is the per-originator record search: use it to find specific loan officers or build a filtered LO list. (For a single originator by NMLS ID use the originator detail endpoint.)
|
|
3573
|
+
*/
|
|
3574
|
+
static list(options) {
|
|
3575
|
+
return (options?.client ?? client).post({
|
|
3576
|
+
security: [{
|
|
3577
|
+
name: "x-api-key",
|
|
3578
|
+
type: "apiKey"
|
|
3579
|
+
}, {
|
|
3580
|
+
scheme: "bearer",
|
|
3581
|
+
type: "http"
|
|
3582
|
+
}],
|
|
3583
|
+
url: "/v1/originators",
|
|
3584
|
+
...options,
|
|
3585
|
+
headers: {
|
|
3586
|
+
"Content-Type": "application/json",
|
|
3587
|
+
...options?.headers
|
|
3588
|
+
}
|
|
3589
|
+
});
|
|
3590
|
+
}
|
|
3591
|
+
/**
|
|
3592
|
+
* Get originator by NMLS ID
|
|
3593
|
+
*/
|
|
3594
|
+
static get(options) {
|
|
3595
|
+
return (options.client ?? client).get({
|
|
3596
|
+
security: [{
|
|
3597
|
+
name: "x-api-key",
|
|
3598
|
+
type: "apiKey"
|
|
3599
|
+
}, {
|
|
3600
|
+
scheme: "bearer",
|
|
3601
|
+
type: "http"
|
|
3602
|
+
}],
|
|
3603
|
+
url: "/v1/originators/{nmlsId}",
|
|
3604
|
+
...options
|
|
3605
|
+
});
|
|
3606
|
+
}
|
|
3607
|
+
/**
|
|
3608
|
+
* Production summary with previous-period comparison
|
|
3609
|
+
*/
|
|
3610
|
+
static analyticsSummary(options) {
|
|
3611
|
+
return (options?.client ?? client).post({
|
|
3612
|
+
security: [{
|
|
3613
|
+
name: "x-api-key",
|
|
3614
|
+
type: "apiKey"
|
|
3615
|
+
}, {
|
|
3616
|
+
scheme: "bearer",
|
|
3617
|
+
type: "http"
|
|
3618
|
+
}],
|
|
3619
|
+
url: "/v1/originators/analytics/summary",
|
|
3620
|
+
...options,
|
|
3621
|
+
headers: {
|
|
3622
|
+
"Content-Type": "application/json",
|
|
3623
|
+
...options?.headers
|
|
3624
|
+
}
|
|
3625
|
+
});
|
|
3626
|
+
}
|
|
3627
|
+
/**
|
|
3628
|
+
* Originator volume / units over time
|
|
3629
|
+
*/
|
|
3630
|
+
static analyticsTimeSeries(options) {
|
|
3631
|
+
return (options?.client ?? client).post({
|
|
3632
|
+
security: [{
|
|
3633
|
+
name: "x-api-key",
|
|
3634
|
+
type: "apiKey"
|
|
3635
|
+
}, {
|
|
3636
|
+
scheme: "bearer",
|
|
3637
|
+
type: "http"
|
|
3638
|
+
}],
|
|
3639
|
+
url: "/v1/originators/analytics/time-series",
|
|
3640
|
+
...options,
|
|
3641
|
+
headers: {
|
|
3642
|
+
"Content-Type": "application/json",
|
|
3643
|
+
...options?.headers
|
|
3644
|
+
}
|
|
3645
|
+
});
|
|
3646
|
+
}
|
|
3647
|
+
/**
|
|
3648
|
+
* Configurable chart (measure × slice) over one LO's loans
|
|
3649
|
+
*/
|
|
3650
|
+
static analyticsChart(options) {
|
|
3651
|
+
return (options?.client ?? client).post({
|
|
3652
|
+
security: [{
|
|
3653
|
+
name: "x-api-key",
|
|
3654
|
+
type: "apiKey"
|
|
3655
|
+
}, {
|
|
3656
|
+
scheme: "bearer",
|
|
3657
|
+
type: "http"
|
|
3658
|
+
}],
|
|
3659
|
+
url: "/v1/originators/analytics/chart",
|
|
3660
|
+
...options,
|
|
3661
|
+
headers: {
|
|
3662
|
+
"Content-Type": "application/json",
|
|
3663
|
+
...options?.headers
|
|
3664
|
+
}
|
|
3665
|
+
});
|
|
3666
|
+
}
|
|
3667
|
+
/**
|
|
3668
|
+
* Loans originated by this LO
|
|
3669
|
+
*/
|
|
3670
|
+
static loans(options) {
|
|
3671
|
+
return (options.client ?? client).post({
|
|
3672
|
+
security: [{
|
|
3673
|
+
name: "x-api-key",
|
|
3674
|
+
type: "apiKey"
|
|
3675
|
+
}, {
|
|
3676
|
+
scheme: "bearer",
|
|
3677
|
+
type: "http"
|
|
3678
|
+
}],
|
|
3679
|
+
url: "/v1/originators/{nmlsId}/loans",
|
|
3680
|
+
...options,
|
|
3681
|
+
headers: {
|
|
3682
|
+
"Content-Type": "application/json",
|
|
3683
|
+
...options?.headers
|
|
3684
|
+
}
|
|
3685
|
+
});
|
|
3686
|
+
}
|
|
3687
|
+
/**
|
|
3688
|
+
* Real-estate agents this LO co-closed with
|
|
3689
|
+
*/
|
|
3690
|
+
static agents(options) {
|
|
3691
|
+
return (options.client ?? client).post({
|
|
3692
|
+
security: [{
|
|
3693
|
+
name: "x-api-key",
|
|
3694
|
+
type: "apiKey"
|
|
3695
|
+
}, {
|
|
3696
|
+
scheme: "bearer",
|
|
3697
|
+
type: "http"
|
|
3698
|
+
}],
|
|
3699
|
+
url: "/v1/originators/{nmlsId}/breakdowns/agents",
|
|
3700
|
+
...options,
|
|
3701
|
+
headers: {
|
|
3702
|
+
"Content-Type": "application/json",
|
|
3703
|
+
...options?.headers
|
|
3704
|
+
}
|
|
3705
|
+
});
|
|
3706
|
+
}
|
|
3707
|
+
/**
|
|
3708
|
+
* Funding companies (employer history) for this LO
|
|
3709
|
+
*/
|
|
3710
|
+
static companies(options) {
|
|
3711
|
+
return (options.client ?? client).post({
|
|
3712
|
+
security: [{
|
|
3713
|
+
name: "x-api-key",
|
|
3714
|
+
type: "apiKey"
|
|
3715
|
+
}, {
|
|
3716
|
+
scheme: "bearer",
|
|
3717
|
+
type: "http"
|
|
3718
|
+
}],
|
|
3719
|
+
url: "/v1/originators/{nmlsId}/breakdowns/companies",
|
|
3720
|
+
...options,
|
|
3721
|
+
headers: {
|
|
3722
|
+
"Content-Type": "application/json",
|
|
3723
|
+
...options?.headers
|
|
3724
|
+
}
|
|
3725
|
+
});
|
|
3726
|
+
}
|
|
3727
|
+
/**
|
|
3728
|
+
* Lenders this LO has originated through
|
|
3729
|
+
*/
|
|
3730
|
+
static lenders(options) {
|
|
3731
|
+
return (options.client ?? client).post({
|
|
3732
|
+
security: [{
|
|
3733
|
+
name: "x-api-key",
|
|
3734
|
+
type: "apiKey"
|
|
3735
|
+
}, {
|
|
3736
|
+
scheme: "bearer",
|
|
3737
|
+
type: "http"
|
|
3738
|
+
}],
|
|
3739
|
+
url: "/v1/originators/{nmlsId}/breakdowns/lenders",
|
|
3740
|
+
...options,
|
|
3741
|
+
headers: {
|
|
3742
|
+
"Content-Type": "application/json",
|
|
3743
|
+
...options?.headers
|
|
3744
|
+
}
|
|
3745
|
+
});
|
|
3746
|
+
}
|
|
3747
|
+
/**
|
|
3748
|
+
* Zip-code volume breakdown
|
|
3749
|
+
*/
|
|
3750
|
+
static zipCodes(options) {
|
|
3751
|
+
return (options.client ?? client).post({
|
|
3752
|
+
security: [{
|
|
3753
|
+
name: "x-api-key",
|
|
3754
|
+
type: "apiKey"
|
|
3755
|
+
}, {
|
|
3756
|
+
scheme: "bearer",
|
|
3757
|
+
type: "http"
|
|
3758
|
+
}],
|
|
3759
|
+
url: "/v1/originators/{nmlsId}/breakdowns/zip-codes",
|
|
3760
|
+
...options,
|
|
3761
|
+
headers: {
|
|
3762
|
+
"Content-Type": "application/json",
|
|
3763
|
+
...options?.headers
|
|
3764
|
+
}
|
|
3765
|
+
});
|
|
3766
|
+
}
|
|
3767
|
+
/**
|
|
3768
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
3769
|
+
*/
|
|
3770
|
+
static brokers(options) {
|
|
3771
|
+
return (options.client ?? client).post({
|
|
3772
|
+
security: [{
|
|
3773
|
+
name: "x-api-key",
|
|
3774
|
+
type: "apiKey"
|
|
3775
|
+
}, {
|
|
3776
|
+
scheme: "bearer",
|
|
3777
|
+
type: "http"
|
|
3778
|
+
}],
|
|
3779
|
+
url: "/v1/originators/{nmlsId}/breakdowns/brokers",
|
|
3780
|
+
...options,
|
|
3781
|
+
headers: {
|
|
3782
|
+
"Content-Type": "application/json",
|
|
3783
|
+
...options?.headers
|
|
3784
|
+
}
|
|
3785
|
+
});
|
|
3786
|
+
}
|
|
3787
|
+
/**
|
|
3788
|
+
* Branch (broker) history for this LO
|
|
3789
|
+
*/
|
|
3790
|
+
static branches(options) {
|
|
3791
|
+
return (options.client ?? client).post({
|
|
3792
|
+
security: [{
|
|
3793
|
+
name: "x-api-key",
|
|
3794
|
+
type: "apiKey"
|
|
3795
|
+
}, {
|
|
3796
|
+
scheme: "bearer",
|
|
3797
|
+
type: "http"
|
|
3798
|
+
}],
|
|
3799
|
+
url: "/v1/originators/{nmlsId}/breakdowns/branches",
|
|
3800
|
+
...options,
|
|
3801
|
+
headers: {
|
|
3802
|
+
"Content-Type": "application/json",
|
|
3803
|
+
...options?.headers
|
|
3804
|
+
}
|
|
3805
|
+
});
|
|
3806
|
+
}
|
|
3807
|
+
/**
|
|
3808
|
+
* City volume breakdown across this LO's loans
|
|
3809
|
+
*/
|
|
3810
|
+
static citiesBreakdown(options) {
|
|
3811
|
+
return (options.client ?? client).post({
|
|
3812
|
+
security: [{
|
|
3813
|
+
name: "x-api-key",
|
|
3814
|
+
type: "apiKey"
|
|
3815
|
+
}, {
|
|
3816
|
+
scheme: "bearer",
|
|
3817
|
+
type: "http"
|
|
3818
|
+
}],
|
|
3819
|
+
url: "/v1/originators/{nmlsId}/breakdowns/cities",
|
|
3820
|
+
...options,
|
|
3821
|
+
headers: {
|
|
3822
|
+
"Content-Type": "application/json",
|
|
3823
|
+
...options?.headers
|
|
3824
|
+
}
|
|
3825
|
+
});
|
|
3826
|
+
}
|
|
3827
|
+
/**
|
|
3828
|
+
* State volume breakdown across this LO's loans
|
|
3829
|
+
*/
|
|
3830
|
+
static statesBreakdown(options) {
|
|
3831
|
+
return (options.client ?? client).post({
|
|
3832
|
+
security: [{
|
|
3833
|
+
name: "x-api-key",
|
|
3834
|
+
type: "apiKey"
|
|
3835
|
+
}, {
|
|
3836
|
+
scheme: "bearer",
|
|
3837
|
+
type: "http"
|
|
3838
|
+
}],
|
|
3839
|
+
url: "/v1/originators/{nmlsId}/breakdowns/states",
|
|
3840
|
+
...options,
|
|
3841
|
+
headers: {
|
|
3842
|
+
"Content-Type": "application/json",
|
|
3843
|
+
...options?.headers
|
|
3844
|
+
}
|
|
3845
|
+
});
|
|
3846
|
+
}
|
|
3847
|
+
/**
|
|
3848
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
3849
|
+
*/
|
|
3850
|
+
static countiesBreakdown(options) {
|
|
3851
|
+
return (options.client ?? client).post({
|
|
3852
|
+
security: [{
|
|
3853
|
+
name: "x-api-key",
|
|
3854
|
+
type: "apiKey"
|
|
3855
|
+
}, {
|
|
3856
|
+
scheme: "bearer",
|
|
3857
|
+
type: "http"
|
|
3858
|
+
}],
|
|
3859
|
+
url: "/v1/originators/{nmlsId}/breakdowns/counties",
|
|
3860
|
+
...options,
|
|
3861
|
+
headers: {
|
|
3862
|
+
"Content-Type": "application/json",
|
|
3863
|
+
...options?.headers
|
|
3864
|
+
}
|
|
3865
|
+
});
|
|
3866
|
+
}
|
|
3867
|
+
/**
|
|
3868
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
3869
|
+
*/
|
|
3870
|
+
static offices(options) {
|
|
3871
|
+
return (options.client ?? client).post({
|
|
3872
|
+
security: [{
|
|
3873
|
+
name: "x-api-key",
|
|
3874
|
+
type: "apiKey"
|
|
3875
|
+
}, {
|
|
3876
|
+
scheme: "bearer",
|
|
3877
|
+
type: "http"
|
|
3878
|
+
}],
|
|
3879
|
+
url: "/v1/originators/{nmlsId}/breakdowns/offices",
|
|
3880
|
+
...options,
|
|
3881
|
+
headers: {
|
|
3882
|
+
"Content-Type": "application/json",
|
|
3883
|
+
...options?.headers
|
|
3884
|
+
}
|
|
3885
|
+
});
|
|
3886
|
+
}
|
|
3887
|
+
/**
|
|
3888
|
+
* Submit a bulk-delivery job for originators
|
|
3889
|
+
* 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.
|
|
3890
|
+
*/
|
|
3891
|
+
static submitOriginatorsBulkDelivery(options) {
|
|
3892
|
+
return (options?.client ?? client).post({
|
|
3893
|
+
security: [{
|
|
3894
|
+
name: "x-api-key",
|
|
3895
|
+
type: "apiKey"
|
|
3896
|
+
}, {
|
|
3897
|
+
scheme: "bearer",
|
|
3898
|
+
type: "http"
|
|
3899
|
+
}],
|
|
3900
|
+
url: "/v1/originators/bulk-delivery",
|
|
3901
|
+
...options,
|
|
3902
|
+
headers: {
|
|
3903
|
+
"Content-Type": "application/json",
|
|
3904
|
+
...options?.headers
|
|
3905
|
+
}
|
|
3906
|
+
});
|
|
3907
|
+
}
|
|
3908
|
+
/**
|
|
3909
|
+
* Get bulk-delivery job status for originators
|
|
3910
|
+
*/
|
|
3911
|
+
static getOriginatorsBulkDeliveryJob(options) {
|
|
3912
|
+
return (options.client ?? client).get({
|
|
3913
|
+
security: [{
|
|
3914
|
+
name: "x-api-key",
|
|
3915
|
+
type: "apiKey"
|
|
3916
|
+
}, {
|
|
3917
|
+
scheme: "bearer",
|
|
3918
|
+
type: "http"
|
|
3919
|
+
}],
|
|
3920
|
+
url: "/v1/originators/bulk-delivery/{jobId}",
|
|
3921
|
+
...options
|
|
3922
|
+
});
|
|
3923
|
+
}
|
|
3924
|
+
/**
|
|
3925
|
+
* Search originators with filters
|
|
3926
|
+
* Search and list individual loan originators (LOs — NMLS-registered mortgage loan officers) with filters — one row per originator. Filter by name, NMLS ID, location (state, city), employer/company, and production metrics (loan volume, units, product mix), with sorting and cursor pagination. LOCATION SEMANTICS: the state/city filters match an originator's PRODUCTION GEOGRAPHY — the markets where they actually originated loans in the selected period — not where their office or employer sits. An LO who lends across several markets matches a filter for ANY of those markets, while the `state`/`city` returned on each row reflect only their PRIMARY (highest-volume) market. So a search for city "Long Beach" can return an LO whose displayed location is a different city/state (e.g. their top market is in Arizona) — they still originated loans in Long Beach, it just isn't their #1 market. To rank originators by their volume within a specific market, sort by volume after filtering, or use the per-originator city/county/state breakdown endpoints. This is the per-originator record search: use it to find specific loan officers or build a filtered LO list. (For a single originator by NMLS ID use the originator detail endpoint.)
|
|
3927
|
+
*/
|
|
3928
|
+
static listOriginators2(options) {
|
|
3929
|
+
return (options?.client ?? client).post({
|
|
3930
|
+
security: [{
|
|
3931
|
+
name: "x-api-key",
|
|
3932
|
+
type: "apiKey"
|
|
3933
|
+
}, {
|
|
3934
|
+
scheme: "bearer",
|
|
3935
|
+
type: "http"
|
|
3936
|
+
}],
|
|
3937
|
+
url: "/originators",
|
|
3938
|
+
...options,
|
|
3939
|
+
headers: {
|
|
3940
|
+
"Content-Type": "application/json",
|
|
3941
|
+
...options?.headers
|
|
3942
|
+
}
|
|
3943
|
+
});
|
|
3944
|
+
}
|
|
3945
|
+
/**
|
|
3946
|
+
* Get originator by NMLS ID
|
|
3947
|
+
*/
|
|
3948
|
+
static getOriginator2(options) {
|
|
3949
|
+
return (options.client ?? client).get({
|
|
3950
|
+
security: [{
|
|
3951
|
+
name: "x-api-key",
|
|
3952
|
+
type: "apiKey"
|
|
3953
|
+
}, {
|
|
3954
|
+
scheme: "bearer",
|
|
3955
|
+
type: "http"
|
|
3956
|
+
}],
|
|
3957
|
+
url: "/originators/{nmlsId}",
|
|
3958
|
+
...options
|
|
3959
|
+
});
|
|
3960
|
+
}
|
|
3961
|
+
/**
|
|
3962
|
+
* Production summary with previous-period comparison
|
|
3963
|
+
*/
|
|
3964
|
+
static analyticsSummary2(options) {
|
|
3965
|
+
return (options?.client ?? client).post({
|
|
3966
|
+
security: [{
|
|
3967
|
+
name: "x-api-key",
|
|
3968
|
+
type: "apiKey"
|
|
3969
|
+
}, {
|
|
3970
|
+
scheme: "bearer",
|
|
3971
|
+
type: "http"
|
|
3972
|
+
}],
|
|
3973
|
+
url: "/originators/analytics/summary",
|
|
3974
|
+
...options,
|
|
3975
|
+
headers: {
|
|
3976
|
+
"Content-Type": "application/json",
|
|
3977
|
+
...options?.headers
|
|
3978
|
+
}
|
|
3979
|
+
});
|
|
3980
|
+
}
|
|
3981
|
+
/**
|
|
3982
|
+
* Originator volume / units over time
|
|
3983
|
+
*/
|
|
3984
|
+
static analyticsTimeSeries2(options) {
|
|
3985
|
+
return (options?.client ?? client).post({
|
|
3986
|
+
security: [{
|
|
3987
|
+
name: "x-api-key",
|
|
3988
|
+
type: "apiKey"
|
|
3989
|
+
}, {
|
|
3990
|
+
scheme: "bearer",
|
|
3991
|
+
type: "http"
|
|
3992
|
+
}],
|
|
3993
|
+
url: "/originators/analytics/time-series",
|
|
3994
|
+
...options,
|
|
3995
|
+
headers: {
|
|
3996
|
+
"Content-Type": "application/json",
|
|
3997
|
+
...options?.headers
|
|
3998
|
+
}
|
|
3999
|
+
});
|
|
4000
|
+
}
|
|
4001
|
+
/**
|
|
4002
|
+
* Configurable chart (measure × slice) over one LO's loans
|
|
4003
|
+
*/
|
|
4004
|
+
static analyticsChart2(options) {
|
|
4005
|
+
return (options?.client ?? client).post({
|
|
4006
|
+
security: [{
|
|
4007
|
+
name: "x-api-key",
|
|
4008
|
+
type: "apiKey"
|
|
4009
|
+
}, {
|
|
4010
|
+
scheme: "bearer",
|
|
4011
|
+
type: "http"
|
|
4012
|
+
}],
|
|
4013
|
+
url: "/originators/analytics/chart",
|
|
4014
|
+
...options,
|
|
4015
|
+
headers: {
|
|
4016
|
+
"Content-Type": "application/json",
|
|
4017
|
+
...options?.headers
|
|
4018
|
+
}
|
|
4019
|
+
});
|
|
4020
|
+
}
|
|
4021
|
+
/**
|
|
4022
|
+
* Loans originated by this LO
|
|
4023
|
+
*/
|
|
4024
|
+
static loans2(options) {
|
|
4025
|
+
return (options.client ?? client).post({
|
|
4026
|
+
security: [{
|
|
4027
|
+
name: "x-api-key",
|
|
4028
|
+
type: "apiKey"
|
|
4029
|
+
}, {
|
|
4030
|
+
scheme: "bearer",
|
|
4031
|
+
type: "http"
|
|
4032
|
+
}],
|
|
4033
|
+
url: "/originators/{nmlsId}/loans",
|
|
4034
|
+
...options,
|
|
4035
|
+
headers: {
|
|
4036
|
+
"Content-Type": "application/json",
|
|
4037
|
+
...options?.headers
|
|
4038
|
+
}
|
|
4039
|
+
});
|
|
4040
|
+
}
|
|
4041
|
+
/**
|
|
4042
|
+
* Real-estate agents this LO co-closed with
|
|
4043
|
+
*/
|
|
4044
|
+
static agents2(options) {
|
|
4045
|
+
return (options.client ?? client).post({
|
|
4046
|
+
security: [{
|
|
4047
|
+
name: "x-api-key",
|
|
4048
|
+
type: "apiKey"
|
|
4049
|
+
}, {
|
|
4050
|
+
scheme: "bearer",
|
|
4051
|
+
type: "http"
|
|
4052
|
+
}],
|
|
4053
|
+
url: "/originators/{nmlsId}/breakdowns/agents",
|
|
4054
|
+
...options,
|
|
4055
|
+
headers: {
|
|
4056
|
+
"Content-Type": "application/json",
|
|
4057
|
+
...options?.headers
|
|
4058
|
+
}
|
|
4059
|
+
});
|
|
4060
|
+
}
|
|
4061
|
+
/**
|
|
4062
|
+
* Funding companies (employer history) for this LO
|
|
4063
|
+
*/
|
|
4064
|
+
static companies2(options) {
|
|
4065
|
+
return (options.client ?? client).post({
|
|
4066
|
+
security: [{
|
|
4067
|
+
name: "x-api-key",
|
|
4068
|
+
type: "apiKey"
|
|
4069
|
+
}, {
|
|
4070
|
+
scheme: "bearer",
|
|
4071
|
+
type: "http"
|
|
4072
|
+
}],
|
|
4073
|
+
url: "/originators/{nmlsId}/breakdowns/companies",
|
|
4074
|
+
...options,
|
|
4075
|
+
headers: {
|
|
4076
|
+
"Content-Type": "application/json",
|
|
4077
|
+
...options?.headers
|
|
4078
|
+
}
|
|
4079
|
+
});
|
|
4080
|
+
}
|
|
4081
|
+
/**
|
|
4082
|
+
* Lenders this LO has originated through
|
|
4083
|
+
*/
|
|
4084
|
+
static lenders2(options) {
|
|
4085
|
+
return (options.client ?? client).post({
|
|
4086
|
+
security: [{
|
|
4087
|
+
name: "x-api-key",
|
|
4088
|
+
type: "apiKey"
|
|
4089
|
+
}, {
|
|
4090
|
+
scheme: "bearer",
|
|
4091
|
+
type: "http"
|
|
4092
|
+
}],
|
|
4093
|
+
url: "/originators/{nmlsId}/breakdowns/lenders",
|
|
4094
|
+
...options,
|
|
4095
|
+
headers: {
|
|
4096
|
+
"Content-Type": "application/json",
|
|
4097
|
+
...options?.headers
|
|
4098
|
+
}
|
|
4099
|
+
});
|
|
4100
|
+
}
|
|
4101
|
+
/**
|
|
4102
|
+
* Zip-code volume breakdown
|
|
4103
|
+
*/
|
|
4104
|
+
static zipCodes2(options) {
|
|
4105
|
+
return (options.client ?? client).post({
|
|
4106
|
+
security: [{
|
|
4107
|
+
name: "x-api-key",
|
|
4108
|
+
type: "apiKey"
|
|
4109
|
+
}, {
|
|
4110
|
+
scheme: "bearer",
|
|
4111
|
+
type: "http"
|
|
4112
|
+
}],
|
|
4113
|
+
url: "/originators/{nmlsId}/breakdowns/zip-codes",
|
|
4114
|
+
...options,
|
|
4115
|
+
headers: {
|
|
4116
|
+
"Content-Type": "application/json",
|
|
4117
|
+
...options?.headers
|
|
4118
|
+
}
|
|
4119
|
+
});
|
|
4120
|
+
}
|
|
4121
|
+
/**
|
|
4122
|
+
* Broker shops this LO originated loans through (name-resolved)
|
|
4123
|
+
*/
|
|
4124
|
+
static brokers2(options) {
|
|
4125
|
+
return (options.client ?? client).post({
|
|
4126
|
+
security: [{
|
|
4127
|
+
name: "x-api-key",
|
|
4128
|
+
type: "apiKey"
|
|
4129
|
+
}, {
|
|
4130
|
+
scheme: "bearer",
|
|
4131
|
+
type: "http"
|
|
4132
|
+
}],
|
|
4133
|
+
url: "/originators/{nmlsId}/breakdowns/brokers",
|
|
4134
|
+
...options,
|
|
4135
|
+
headers: {
|
|
4136
|
+
"Content-Type": "application/json",
|
|
4137
|
+
...options?.headers
|
|
4138
|
+
}
|
|
4139
|
+
});
|
|
4140
|
+
}
|
|
4141
|
+
/**
|
|
4142
|
+
* Branch (broker) history for this LO
|
|
4143
|
+
*/
|
|
4144
|
+
static branches2(options) {
|
|
4145
|
+
return (options.client ?? client).post({
|
|
4146
|
+
security: [{
|
|
4147
|
+
name: "x-api-key",
|
|
4148
|
+
type: "apiKey"
|
|
4149
|
+
}, {
|
|
4150
|
+
scheme: "bearer",
|
|
4151
|
+
type: "http"
|
|
4152
|
+
}],
|
|
4153
|
+
url: "/originators/{nmlsId}/breakdowns/branches",
|
|
4154
|
+
...options,
|
|
4155
|
+
headers: {
|
|
4156
|
+
"Content-Type": "application/json",
|
|
4157
|
+
...options?.headers
|
|
4158
|
+
}
|
|
4159
|
+
});
|
|
4160
|
+
}
|
|
4161
|
+
/**
|
|
4162
|
+
* City volume breakdown across this LO's loans
|
|
4163
|
+
*/
|
|
4164
|
+
static citiesBreakdown2(options) {
|
|
4165
|
+
return (options.client ?? client).post({
|
|
4166
|
+
security: [{
|
|
4167
|
+
name: "x-api-key",
|
|
4168
|
+
type: "apiKey"
|
|
4169
|
+
}, {
|
|
4170
|
+
scheme: "bearer",
|
|
4171
|
+
type: "http"
|
|
4172
|
+
}],
|
|
4173
|
+
url: "/originators/{nmlsId}/breakdowns/cities",
|
|
4174
|
+
...options,
|
|
4175
|
+
headers: {
|
|
4176
|
+
"Content-Type": "application/json",
|
|
4177
|
+
...options?.headers
|
|
4178
|
+
}
|
|
4179
|
+
});
|
|
4180
|
+
}
|
|
4181
|
+
/**
|
|
4182
|
+
* State volume breakdown across this LO's loans
|
|
4183
|
+
*/
|
|
4184
|
+
static statesBreakdown2(options) {
|
|
4185
|
+
return (options.client ?? client).post({
|
|
4186
|
+
security: [{
|
|
4187
|
+
name: "x-api-key",
|
|
4188
|
+
type: "apiKey"
|
|
4189
|
+
}, {
|
|
4190
|
+
scheme: "bearer",
|
|
4191
|
+
type: "http"
|
|
4192
|
+
}],
|
|
4193
|
+
url: "/originators/{nmlsId}/breakdowns/states",
|
|
4194
|
+
...options,
|
|
4195
|
+
headers: {
|
|
4196
|
+
"Content-Type": "application/json",
|
|
4197
|
+
...options?.headers
|
|
4198
|
+
}
|
|
4199
|
+
});
|
|
4200
|
+
}
|
|
4201
|
+
/**
|
|
4202
|
+
* County (FIPS) volume breakdown across this LO's loans
|
|
4203
|
+
*/
|
|
4204
|
+
static countiesBreakdown2(options) {
|
|
4205
|
+
return (options.client ?? client).post({
|
|
4206
|
+
security: [{
|
|
4207
|
+
name: "x-api-key",
|
|
4208
|
+
type: "apiKey"
|
|
4209
|
+
}, {
|
|
4210
|
+
scheme: "bearer",
|
|
4211
|
+
type: "http"
|
|
4212
|
+
}],
|
|
4213
|
+
url: "/originators/{nmlsId}/breakdowns/counties",
|
|
4214
|
+
...options,
|
|
4215
|
+
headers: {
|
|
4216
|
+
"Content-Type": "application/json",
|
|
4217
|
+
...options?.headers
|
|
4218
|
+
}
|
|
4219
|
+
});
|
|
4220
|
+
}
|
|
4221
|
+
/**
|
|
4222
|
+
* Real-estate offices this LO closed through (with sponsoring company)
|
|
4223
|
+
*/
|
|
4224
|
+
static offices2(options) {
|
|
4225
|
+
return (options.client ?? client).post({
|
|
4226
|
+
security: [{
|
|
4227
|
+
name: "x-api-key",
|
|
4228
|
+
type: "apiKey"
|
|
4229
|
+
}, {
|
|
4230
|
+
scheme: "bearer",
|
|
4231
|
+
type: "http"
|
|
4232
|
+
}],
|
|
4233
|
+
url: "/originators/{nmlsId}/breakdowns/offices",
|
|
4234
|
+
...options,
|
|
4235
|
+
headers: {
|
|
4236
|
+
"Content-Type": "application/json",
|
|
4237
|
+
...options?.headers
|
|
4238
|
+
}
|
|
4239
|
+
});
|
|
4240
|
+
}
|
|
4241
|
+
/**
|
|
4242
|
+
* Submit a bulk-delivery job for originators
|
|
4243
|
+
* 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.
|
|
4244
|
+
*/
|
|
4245
|
+
static submitOriginatorsBulkDelivery2(options) {
|
|
4246
|
+
return (options?.client ?? client).post({
|
|
4247
|
+
security: [{
|
|
4248
|
+
name: "x-api-key",
|
|
4249
|
+
type: "apiKey"
|
|
4250
|
+
}, {
|
|
4251
|
+
scheme: "bearer",
|
|
4252
|
+
type: "http"
|
|
4253
|
+
}],
|
|
4254
|
+
url: "/originators/bulk-delivery",
|
|
4255
|
+
...options,
|
|
4256
|
+
headers: {
|
|
4257
|
+
"Content-Type": "application/json",
|
|
4258
|
+
...options?.headers
|
|
4259
|
+
}
|
|
4260
|
+
});
|
|
4261
|
+
}
|
|
4262
|
+
/**
|
|
4263
|
+
* Get bulk-delivery job status for originators
|
|
4264
|
+
*/
|
|
4265
|
+
static getOriginatorsBulkDeliveryJob2(options) {
|
|
4266
|
+
return (options.client ?? client).get({
|
|
4267
|
+
security: [{
|
|
4268
|
+
name: "x-api-key",
|
|
4269
|
+
type: "apiKey"
|
|
4270
|
+
}, {
|
|
4271
|
+
scheme: "bearer",
|
|
4272
|
+
type: "http"
|
|
4273
|
+
}],
|
|
4274
|
+
url: "/originators/bulk-delivery/{jobId}",
|
|
4275
|
+
...options
|
|
4276
|
+
});
|
|
4277
|
+
}
|
|
4278
|
+
};
|
|
4279
|
+
var Properties = class {
|
|
4280
|
+
/**
|
|
4281
|
+
* List enriched properties for the current user
|
|
4282
|
+
*/
|
|
4283
|
+
static listEnrichments(options) {
|
|
4284
|
+
return (options?.client ?? client).get({
|
|
4285
|
+
security: [{
|
|
4286
|
+
name: "x-api-key",
|
|
4287
|
+
type: "apiKey"
|
|
4288
|
+
}, {
|
|
4289
|
+
scheme: "bearer",
|
|
4290
|
+
type: "http"
|
|
4291
|
+
}],
|
|
4292
|
+
url: "/v1/properties/enrichments",
|
|
4293
|
+
...options
|
|
4294
|
+
});
|
|
4295
|
+
}
|
|
4296
|
+
/**
|
|
4297
|
+
* Enrich a property with owner contact info
|
|
4298
|
+
* 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.
|
|
4299
|
+
*/
|
|
4300
|
+
static enrich(options) {
|
|
4301
|
+
return (options.client ?? client).post({
|
|
4302
|
+
security: [{
|
|
4303
|
+
name: "x-api-key",
|
|
4304
|
+
type: "apiKey"
|
|
4305
|
+
}, {
|
|
4306
|
+
scheme: "bearer",
|
|
4307
|
+
type: "http"
|
|
4308
|
+
}],
|
|
4309
|
+
url: "/v1/properties/{id}/enrich",
|
|
4310
|
+
...options
|
|
4311
|
+
});
|
|
4312
|
+
}
|
|
4313
|
+
/**
|
|
4314
|
+
* Enrich several properties with owner contact info in one request
|
|
4315
|
+
* Looks up owner contact information for up to 50 properties in a single synchronous request. Each id is resolved independently and returned in the `results` array with its own status — a bad id never fails the batch. Each match debits one credit; cache hits and no-matches are free. For larger sets use the asynchronous bulk job.
|
|
4316
|
+
*/
|
|
4317
|
+
static enrichPropertiesBatch(options) {
|
|
4318
|
+
return (options?.client ?? client).post({
|
|
4319
|
+
security: [{
|
|
4320
|
+
name: "x-api-key",
|
|
4321
|
+
type: "apiKey"
|
|
4322
|
+
}, {
|
|
4323
|
+
scheme: "bearer",
|
|
4324
|
+
type: "http"
|
|
4325
|
+
}],
|
|
4326
|
+
url: "/v1/properties/enrich",
|
|
4327
|
+
...options,
|
|
4328
|
+
headers: {
|
|
4329
|
+
"Content-Type": "application/json",
|
|
4330
|
+
...options?.headers
|
|
4331
|
+
}
|
|
4332
|
+
});
|
|
4333
|
+
}
|
|
4334
|
+
/**
|
|
4335
|
+
* Submit a bulk skip-trace job
|
|
4336
|
+
* 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.
|
|
4337
|
+
*/
|
|
4338
|
+
static enrichPropertiesBulk(options) {
|
|
4339
|
+
return (options?.client ?? client).post({
|
|
4340
|
+
security: [{
|
|
4341
|
+
name: "x-api-key",
|
|
4342
|
+
type: "apiKey"
|
|
4343
|
+
}, {
|
|
4344
|
+
scheme: "bearer",
|
|
4345
|
+
type: "http"
|
|
4346
|
+
}],
|
|
4347
|
+
url: "/v1/properties/enrich-bulk",
|
|
4348
|
+
...options,
|
|
4349
|
+
headers: {
|
|
4350
|
+
"Content-Type": "application/json",
|
|
4351
|
+
...options?.headers
|
|
4352
|
+
}
|
|
4353
|
+
});
|
|
4354
|
+
}
|
|
4355
|
+
/**
|
|
4356
|
+
* Get bulk enrichment job status
|
|
4357
|
+
*/
|
|
4358
|
+
static getEnrichBulkJob(options) {
|
|
4359
|
+
return (options.client ?? client).get({
|
|
4360
|
+
security: [{
|
|
4361
|
+
name: "x-api-key",
|
|
4362
|
+
type: "apiKey"
|
|
4363
|
+
}, {
|
|
4364
|
+
scheme: "bearer",
|
|
4365
|
+
type: "http"
|
|
4366
|
+
}],
|
|
4367
|
+
url: "/v1/properties/enrich-bulk/{jobId}",
|
|
4368
|
+
...options
|
|
4369
|
+
});
|
|
4370
|
+
}
|
|
4371
|
+
/**
|
|
4372
|
+
* Search properties with filters
|
|
4373
|
+
* Search and list individual properties/parcels with filters — one row per parcel. Filter by location (state, county, city, zip, address), owner name, property characteristics (beds, baths, square footage, year built, property type), value, and ownership or transaction history, with sorting and cursor pagination. This is the discrete per-property record search: use it to find specific properties or build a filtered property list. (For a single property by its ID use the property detail endpoint.)
|
|
4374
|
+
*/
|
|
4375
|
+
static list(options) {
|
|
4376
|
+
return (options?.client ?? client).post({
|
|
4377
|
+
security: [{
|
|
4378
|
+
name: "x-api-key",
|
|
4379
|
+
type: "apiKey"
|
|
4380
|
+
}, {
|
|
4381
|
+
scheme: "bearer",
|
|
4382
|
+
type: "http"
|
|
4383
|
+
}],
|
|
4384
|
+
url: "/v1/properties",
|
|
4385
|
+
...options,
|
|
4386
|
+
headers: {
|
|
4387
|
+
"Content-Type": "application/json",
|
|
4388
|
+
...options?.headers
|
|
4389
|
+
}
|
|
4390
|
+
});
|
|
4391
|
+
}
|
|
4392
|
+
/**
|
|
4393
|
+
* Get property by ID (with mm_property_id fallback)
|
|
4394
|
+
*/
|
|
4395
|
+
static get(options) {
|
|
4396
|
+
return (options.client ?? client).get({
|
|
4397
|
+
security: [{
|
|
4398
|
+
name: "x-api-key",
|
|
4399
|
+
type: "apiKey"
|
|
4400
|
+
}, {
|
|
4401
|
+
scheme: "bearer",
|
|
4402
|
+
type: "http"
|
|
4403
|
+
}],
|
|
4404
|
+
url: "/v1/properties/{id}",
|
|
4405
|
+
...options
|
|
4406
|
+
});
|
|
4407
|
+
}
|
|
4408
|
+
/**
|
|
4409
|
+
* Property count and average AVM
|
|
4410
|
+
*/
|
|
4411
|
+
static analyticsSummary(options) {
|
|
4412
|
+
return (options?.client ?? client).post({
|
|
4413
|
+
security: [{
|
|
4414
|
+
name: "x-api-key",
|
|
4415
|
+
type: "apiKey"
|
|
4416
|
+
}, {
|
|
4417
|
+
scheme: "bearer",
|
|
4418
|
+
type: "http"
|
|
4419
|
+
}],
|
|
4420
|
+
url: "/v1/properties/analytics/summary",
|
|
4421
|
+
...options,
|
|
4422
|
+
headers: {
|
|
4423
|
+
"Content-Type": "application/json",
|
|
4424
|
+
...options?.headers
|
|
4425
|
+
}
|
|
4426
|
+
});
|
|
4427
|
+
}
|
|
4428
|
+
/**
|
|
4429
|
+
* Configurable chart data (measure × slice)
|
|
4430
|
+
*/
|
|
4431
|
+
static analyticsChart(options) {
|
|
4432
|
+
return (options?.client ?? client).post({
|
|
4433
|
+
security: [{
|
|
4434
|
+
name: "x-api-key",
|
|
4435
|
+
type: "apiKey"
|
|
4436
|
+
}, {
|
|
4437
|
+
scheme: "bearer",
|
|
4438
|
+
type: "http"
|
|
4439
|
+
}],
|
|
4440
|
+
url: "/v1/properties/analytics/chart",
|
|
4441
|
+
...options,
|
|
4442
|
+
headers: {
|
|
4443
|
+
"Content-Type": "application/json",
|
|
4444
|
+
...options?.headers
|
|
4445
|
+
}
|
|
4446
|
+
});
|
|
4447
|
+
}
|
|
4448
|
+
/**
|
|
4449
|
+
* Submit a bulk-delivery job for properties
|
|
4450
|
+
* 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.
|
|
4451
|
+
*/
|
|
4452
|
+
static submitPropertiesBulkDelivery(options) {
|
|
4453
|
+
return (options?.client ?? client).post({
|
|
4454
|
+
security: [{
|
|
4455
|
+
name: "x-api-key",
|
|
4456
|
+
type: "apiKey"
|
|
4457
|
+
}, {
|
|
4458
|
+
scheme: "bearer",
|
|
4459
|
+
type: "http"
|
|
4460
|
+
}],
|
|
4461
|
+
url: "/v1/properties/bulk-delivery",
|
|
4462
|
+
...options,
|
|
4463
|
+
headers: {
|
|
4464
|
+
"Content-Type": "application/json",
|
|
4465
|
+
...options?.headers
|
|
4466
|
+
}
|
|
4467
|
+
});
|
|
4468
|
+
}
|
|
4469
|
+
/**
|
|
4470
|
+
* Get bulk-delivery job status for properties
|
|
4471
|
+
*/
|
|
4472
|
+
static getPropertiesBulkDeliveryJob(options) {
|
|
4473
|
+
return (options.client ?? client).get({
|
|
4474
|
+
security: [{
|
|
4475
|
+
name: "x-api-key",
|
|
4476
|
+
type: "apiKey"
|
|
4477
|
+
}, {
|
|
4478
|
+
scheme: "bearer",
|
|
4479
|
+
type: "http"
|
|
4480
|
+
}],
|
|
4481
|
+
url: "/v1/properties/bulk-delivery/{jobId}",
|
|
4482
|
+
...options
|
|
4483
|
+
});
|
|
4484
|
+
}
|
|
4485
|
+
};
|
|
4486
|
+
var Realtime = class {
|
|
4487
|
+
/**
|
|
4488
|
+
* Get realtime connection config
|
|
4489
|
+
* Returns the realtime/notifications connection info (endpoint, authorizer, app, stage) merged with the caller's userId, so a trusted client can connect to its per-user IoT MQTT topic.
|
|
4490
|
+
*/
|
|
4491
|
+
static getRealtimeConfig(options) {
|
|
4492
|
+
return (options?.client ?? client).get({
|
|
4493
|
+
security: [{
|
|
4494
|
+
name: "x-api-key",
|
|
4495
|
+
type: "apiKey"
|
|
4496
|
+
}, {
|
|
4497
|
+
scheme: "bearer",
|
|
4498
|
+
type: "http"
|
|
4499
|
+
}],
|
|
4500
|
+
url: "/v1/realtime/config",
|
|
4501
|
+
...options
|
|
4502
|
+
});
|
|
4503
|
+
}
|
|
4504
|
+
};
|
|
4505
|
+
var Sales = class {
|
|
4506
|
+
/**
|
|
4507
|
+
* Search sales with filters
|
|
4508
|
+
* Search and list individual real-estate sale transactions and active listings with filters — one row per sale/listing. Filter by location (state, county, city, zip), sale price, sale or listing date, property characteristics (beds, baths, square footage, property type), and listing status, with sorting and cursor pagination. This is the discrete per-transaction sales-record search: use it to find specific sales or build a filtered list of sold/active listings.
|
|
4509
|
+
*/
|
|
4510
|
+
static list(options) {
|
|
4511
|
+
return (options?.client ?? client).post({
|
|
4512
|
+
security: [{
|
|
4513
|
+
name: "x-api-key",
|
|
4514
|
+
type: "apiKey"
|
|
4515
|
+
}, {
|
|
4516
|
+
scheme: "bearer",
|
|
4517
|
+
type: "http"
|
|
4518
|
+
}],
|
|
4519
|
+
url: "/v1/sales",
|
|
4520
|
+
...options,
|
|
4521
|
+
headers: {
|
|
4522
|
+
"Content-Type": "application/json",
|
|
4523
|
+
...options?.headers
|
|
4524
|
+
}
|
|
4525
|
+
});
|
|
4526
|
+
}
|
|
4527
|
+
/**
|
|
4528
|
+
* Get sale by ID
|
|
4529
|
+
*/
|
|
4530
|
+
static get(options) {
|
|
4531
|
+
return (options.client ?? client).get({
|
|
4532
|
+
security: [{
|
|
4533
|
+
name: "x-api-key",
|
|
4534
|
+
type: "apiKey"
|
|
4535
|
+
}, {
|
|
4536
|
+
scheme: "bearer",
|
|
4537
|
+
type: "http"
|
|
4538
|
+
}],
|
|
4539
|
+
url: "/v1/sales/{id}",
|
|
4540
|
+
...options
|
|
4541
|
+
});
|
|
4542
|
+
}
|
|
4543
|
+
/**
|
|
4544
|
+
* Market summary with buyer/seller/dual split + previous period
|
|
4545
|
+
*/
|
|
4546
|
+
static analyticsSummary(options) {
|
|
4547
|
+
return (options?.client ?? client).post({
|
|
4548
|
+
security: [{
|
|
4549
|
+
name: "x-api-key",
|
|
4550
|
+
type: "apiKey"
|
|
4551
|
+
}, {
|
|
4552
|
+
scheme: "bearer",
|
|
4553
|
+
type: "http"
|
|
4554
|
+
}],
|
|
4555
|
+
url: "/v1/sales/analytics/summary",
|
|
4556
|
+
...options,
|
|
4557
|
+
headers: {
|
|
4558
|
+
"Content-Type": "application/json",
|
|
4559
|
+
...options?.headers
|
|
4560
|
+
}
|
|
4561
|
+
});
|
|
4562
|
+
}
|
|
4563
|
+
/**
|
|
4564
|
+
* Volume/units over time with buyer/seller/dual split
|
|
4565
|
+
*/
|
|
4566
|
+
static analyticsTimeSeries(options) {
|
|
4567
|
+
return (options?.client ?? client).post({
|
|
4568
|
+
security: [{
|
|
4569
|
+
name: "x-api-key",
|
|
4570
|
+
type: "apiKey"
|
|
4571
|
+
}, {
|
|
4572
|
+
scheme: "bearer",
|
|
4573
|
+
type: "http"
|
|
4574
|
+
}],
|
|
4575
|
+
url: "/v1/sales/analytics/time-series",
|
|
4576
|
+
...options,
|
|
4577
|
+
headers: {
|
|
4578
|
+
"Content-Type": "application/json",
|
|
4579
|
+
...options?.headers
|
|
4580
|
+
}
|
|
4581
|
+
});
|
|
4582
|
+
}
|
|
4583
|
+
/**
|
|
4584
|
+
* Configurable chart (measure × slice) over the market
|
|
4585
|
+
*/
|
|
4586
|
+
static analyticsChart(options) {
|
|
4587
|
+
return (options?.client ?? client).post({
|
|
4588
|
+
security: [{
|
|
4589
|
+
name: "x-api-key",
|
|
4590
|
+
type: "apiKey"
|
|
4591
|
+
}, {
|
|
4592
|
+
scheme: "bearer",
|
|
4593
|
+
type: "http"
|
|
4594
|
+
}],
|
|
4595
|
+
url: "/v1/sales/analytics/chart",
|
|
4596
|
+
...options,
|
|
4597
|
+
headers: {
|
|
4598
|
+
"Content-Type": "application/json",
|
|
4599
|
+
...options?.headers
|
|
4600
|
+
}
|
|
4601
|
+
});
|
|
4602
|
+
}
|
|
4603
|
+
};
|
|
4604
|
+
//#endregion
|
|
4605
|
+
//#region src/index.ts
|
|
4606
|
+
/**
|
|
4607
|
+
* Configures the singleton hey-api fetch client and returns a namespace-grouped
|
|
4608
|
+
* facade. The static service classes share the global client, so a process
|
|
4609
|
+
* should call `createClient()` once at startup. For multi-tenant scenarios,
|
|
4610
|
+
* pass a custom `client` per call via the per-method `Options.client` field.
|
|
4611
|
+
*/
|
|
4612
|
+
function createClient$1(config = {}) {
|
|
4613
|
+
if (config.baseUrl || config.headers || config.token) client.setConfig({
|
|
4614
|
+
...config.baseUrl ? { baseUrl: config.baseUrl } : {},
|
|
4615
|
+
...config.headers ? { headers: config.headers } : {},
|
|
4616
|
+
...config.token ? { auth: config.token } : {}
|
|
4617
|
+
});
|
|
4618
|
+
if (config.apiKey) {
|
|
4619
|
+
const apiKey = config.apiKey;
|
|
4620
|
+
client.interceptors.request.use((req) => {
|
|
4621
|
+
req.headers.set("x-api-key", apiKey);
|
|
4622
|
+
return req;
|
|
4623
|
+
});
|
|
4624
|
+
}
|
|
4625
|
+
return {
|
|
4626
|
+
agents: Agents,
|
|
4627
|
+
alerts: Alerts,
|
|
4628
|
+
branches: Branches,
|
|
4629
|
+
companies: Companies,
|
|
4630
|
+
lenders: Lenders,
|
|
4631
|
+
loans: Loans,
|
|
4632
|
+
locations: Locations,
|
|
4633
|
+
market: Market,
|
|
4634
|
+
offices: Offices,
|
|
4635
|
+
originators: Originators,
|
|
4636
|
+
properties: Properties,
|
|
4637
|
+
sales: Sales,
|
|
4638
|
+
search: Search
|
|
4639
|
+
};
|
|
4640
|
+
}
|
|
4641
|
+
//#endregion
|
|
4642
|
+
export { Sales as _, Alerts as a, Crm as c, Locations as d, Market as f, Realtime as g, Properties as h, Agents as i, Lenders as l, Originators as m, createClient$1 as n, Branches as o, Offices as p, AdminJobs as r, Companies as s, createApiClient as t, Loans as u, Search as v, client as y };
|